$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$!!!!}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$}}}}$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$}}$$}}!!}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$!!  !!$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$}}  }}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%}}$$%%}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&%%%%}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%$$%%$$%%$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%$$%%$$$$$$%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&%%$$%%$$}}}}$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%$$$$$$$$%%$$}}$$$$$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$}}$$$$$$$$$$$$}}}}%%%%%%}}%%}}$$$$}}$$}}%%}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$}}}}$$$$$$$$$$%%$$}}%%%%&&%%%%%%%%$$$$$$$$$$}}$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$}}$$$$$$$$$$$$$$%%$$%%}}&&%%$$%%$$$$%%$$%%$$%%$$%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%$$$$$$$$$$$$$$$$$$&&$$%%$$$$$$$$%%%%$$%%$$%%$$%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%$$$$$$$$$$%%$$%%%%%%%%$$}}%%%%$$}}!!}}}}%%}}%%$$%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%$$$$%%$$}}$$$$%%%%$$%%$$}}%%%%!!!!  !!&&%%$$$$%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%$$}}$$$$$$}}%%&&@@@@}}%%$$}}%%!!%%%%$$%%$$%%%%&&%%&&%%$$$$%%$$$$$$$$$$$$$$%%$$$$$$%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$}}}}}}}}$$$$}}$$&&%%$$%%%%$$$$%%$$$$!!!!!!}}%%}}%%}}%%%%&&$$$$$$$$$$$$$$$$$$$$$$$$%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$  !!!!}}$$$$$$%%$$%%%%&&%%%%%%%%$$}}%%$$!!%%$$%%}}%%}}$$}}$$%%$$$$$$$$$$$$$$$$$$}}$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%$$$$&&&&@@&&&&&&&&&&&&%%%%&&&&%%%%%%$$$$%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$%%$$%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$!!!!!!$$%%&&&&&&@@@@@@WWWW@@@@@@&&&&&&%%%%%%%%$$$$$$%%$$%%$$%%%%$$$$$$%%$$$$$$$$$$%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$}}%%%%&&@@WW@@########WWWWWW@@@@@@@@@@&&&&&&%%@@$$%%}}%%}}%%}}%%$$&&$$$$$$$$$$$$$$%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&%%&&&&@@@@WWWWWWWW@@WW##WW@@@@WW@@@@&&&&&&%%}}%%&&&&%%%%$$%%}}$$}}$$$$$$$$$$$$$$%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%@@@@WW@@WWWW####@@WW##@@%%&&@@WWWW@@&&&&&&&&}}%%%%%%%%%%%%&&&&&&%%$$%%$$%%%%%%$$%%%%}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%$$$$$$$$$$$$$$$$$$$$$$%%%%&&@@@@WW%%&&WW##WWWW@@&&%%%%%%$$%%%%%%%%&&&&&&@@@@@@@@%%%%%%%%%%$$%%%%&&%%$$$$$$}}!!  !!$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%&&&&&&@@%%%%%%$$&&&&&&&&%%%%%%%%%%%%%%%%%%$$%%%%@@@@@@@@@@@@&&%%%%%%%%$$}}%%%%$$$$}}$$%%}}$$%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$}}}}$$$$$$$$$$$$$$$$}}$$%%&&%%&&&&$$%%%%%%&&&&&&&&&&%%@@&&%%%%%%&&%%%%%%%%$$%%&&@@@@@@@@@@@@&&%%%%&&%%$$$$$$$$$$}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$}}$$$$$$$$$$$$%%$$$$%%%%&&%%$$%%%%%%&&&&&&@@@@@@@@@@&&%%%%&&&&@@&&&&&&&&%%%%%%%%%%@@@@@@@@@@WW@@@@%%%%%%%%$$!!}}$$!!}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&$$%%%%%%%%%%%%&&@@@@&&&&%%$$$$}}}}$$%%}}}}$$&&&&&&%%%%}}%%@@@@@@@@@@@@@@WW@@&&%%%%&&&&%%&&$$$$$$%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%$$$$$$$$%%%%&&&&$$%%&&@@&&&&}}}}}}}}}}}}$$$$%%%%$$}}}}}}$$}}}}}}}}%%&&%%!!$$$$%%@@@@@@@@@@@@@@@@@@@@&&&&%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%$$$$$$%%$$$$%%&&&&%%$$&&&&$$%%}}}}%%$$%%&&@@@@@@@@@@@@WW@@%%&&%%$$}}}}}}}}}}!!$$%%%%$$$$%%@@@@@@@@@@@@@@WW@@&&&&%%%%$$$$%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%$$%%$$$$}}%%&&&&%%$$&&&&}}}}$$}}%%@@@@############WW@@@@@@WW@@&&&&&&%%}}}}}}%%&&&&%%%%%%%%%%%%&&@@@@@@@@WW@@&&@@&&&&$$%%$$%%$$$$$$$$$$$$$$%%$$$$$$$$$$%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$}}}}!!!!$$$$}}%%%%@@&&%%&&%%}}}}$$%%&&@@@@WW##############WW@@@@WW@@@@&&&&&&}}!!}}}}$$%%&&&&%%%%%%%%$$%%%%@@@@WW@@&&&&&&&&$$%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%$$  }}!!$$$$%%&&WW@@&&$$%%}}}}$$&&@@WWWW@@WW####WW######WW@@@@@@WW@@@@&&&&&&$$}}}}}}}}}}}}$$%%&&&&%%%%%%%%$$%%&&&&%%&&&&&&@@@@$$%%%%$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%$$$$}}%%&&WW@@%%$$$$}}}}$$&&@@@@WW@@@@WW######WWWW@@@@%%&&&&WW@@&&&&&&&&%%@@%%%%&&$$}}}}}}$$%%&&&&&&%%%%%%%%%%%%$$%%%%&&@@$$%%$$$$$$%%$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%}}!!!!}}%%&&@@@@&&$$$$$$}}}}&&&&&&@@WW@@&&&&@@&&&&&&@@@@@@WW@@&&&&%%%%%%&&&&%%@@@@@@@@WW@@%%}}}}}}}}$$%%&&&&&&%%%%%%%%$$$$%%$$%%$$$$$$%%$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%$$%%%%}}&&@@&&&&@@@@&&%%$$&&%%}}}}&&@@@@@@##%%@@@@WW######WWWWWW@@@@@@WW@@@@@@&&%%%%@@@@@@@@@@@@@@WW@@$$}}}}}}}}%%&&@@@@&&&&&&%%%%$$$$$$}}%%%%%%$$%%%%%%%%%%%%%%%%%%%%%%%%$$$$%%%%%%%%$$%%%%%%%%%%%%
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%$$$$}}%%%%&&&&@@WW&&$$$$&&%%}}}}}}&&&&%%&&&&@@WW@@WWWWWWWWWWWWWW@@@@@@WW@@&&&&&&&&&&&&@@@@@@WW@@@@@@@@@@@@&&%%}}}}}}$$%%$$}}$$&&&&&&%%}}$$%%$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%$$$$%%%%%%%%%%%%%%%%%%%%%%
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%$$$$$$$$%%&&@@WWWW&&$$$$&&%%}}}}%%&&&&&&%%@@WW@@@@@@WW##WWWWWW##WW@@@@@@@@&&$$%%%%&&&&%%&&%%&&@@@@@@@@@@@@@@@@@@@@&&$$}}$$$$}}}}}}$$%%&&!!}}$$$$%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%$$$$$$%%&&&&@@WW&&$$%%&&%%}}}}&&@@@@%%%%@@@@WW@@@@@@WW##WWWWWW##WWWW@@@@@@%%%%$$$$$$%%%%@@@@&&%%%%&&@@@@@@@@@@@@@@@@@@@@%%&&%%$$}}}}}}}}!!}}}}%%%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%$$%%&&@@@@&&$$%%&&%%$$}}&&@@@@@@%%&&&&&&@@WW@@@@WWWWWWWWWW##WWWW@@@@WW@@@@&&%%%%$$%%@@@@@@@@@@&&&&&&@@@@@@@@@@@@@@@@WW@@&&&&&&%%}}!!}}%%$$%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%$$$$$$$$$$$$$$$$%%$$$$$$&&&&&&&&$$%%&&%%}}}}&&@@@@@@&&&&&&$$%%&&@@@@@@WW########WWWWWW@@@@@@@@&&&&&&&&&&%%@@@@@@@@@@@@@@@@&&%%&&@@@@@@@@@@WW@@&&&&&&&&}}!!!!}}$$}}$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%$$$$%%%%$$$$$$$$%%$$$$$$@@$$%%%%%%&&%%}}}}&&@@@@@@@@%%%%$$%%@@@@@@@@@@WW########WWWWWW@@@@@@@@@@&&%%%%&&$$%%@@@@@@@@WW@@@@@@@@@@&&%%&&@@@@@@@@&&&&&&&&$$}}}}!!$$%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%%%%%$$$$$$%%%%$$$$$$$$$$%%%%@@%%}}}}&&WW@@@@&&%%%%$$%%&&@@WWWW@@@@WW########WW##WW@@@@WWWW@@&&&&&&&&&&$$@@@@@@@@WW@@&&@@@@@@@@WW@@%%%%@@@@&&&&&&&&@@@@}}!!}}}}$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%$$$$$$$$$$$$%%%%%%$$$$%%%%%%%%$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%%%%%$$$$$$$$$$$$$$%%%%&&@@@@%%}}$$@@@@@@@@&&&&@@@@&&@@%%@@@@WW@@@@WW########WW##WW@@@@WWWW@@&&&&&&&&&&@@@@@@@@@@WWWW@@&&&&@@WW@@@@@@@@@@&&@@%%%%&&@@@@}}!!}}$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
$$$$$$$$%%$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%$$%%%%%%$$$$$$%%$$$$$$$$%%$$&&%%$$%%}}$$@@@@@@WW&&&&@@@@@@&&%%&&@@@@WW@@@@WW############WW@@@@@@WW@@&&&&&&&&$$@@@@@@@@@@@@WW&&&&&&@@@@@@@@@@@@@@WW@@&&&&&&&&@@$$!!}}$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
$$$$$$%%%%$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$%%%%$$$$$$%%$$$$$$%%$$%%&&%%}}}}$$$$@@WW@@WW&&&&WW@@@@@@%%&&&&@@@@WW@@@@WW############WW@@@@@@WW@@&&&&&&&&%%@@@@@@@@@@@@WW&&&&%%@@@@@@@@@@@@WW@@&&&&&&&&%%%%%%}}$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%%%$$$$%%%%$$$$%%%%$$$$%%%%}}}}%%@@WW@@@@@@&&&&WW@@@@WW@@@@@@@@@@@@WW@@@@WW##WW####WW##WW@@@@@@WW@@&&&&&&&&%%@@@@@@@@&&$$$$$$$$%%@@@@@@@@@@@@@@&&%%$$%%%%%%@@&&$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$%%$$%%%%%%%%$$%%%%}}}}%%@@@@WW@@@@&&&&@@@@WW@@@@WW@@@@&&@@@@WW@@@@WW##WW####WW##WW@@@@@@WW@@&&&&&&&&%%@@@@@@@@}}}}}}}}}}$$&&@@@@@@@@@@@@@@@@%%$$$$%%%%@@$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%$$$$%%$$$$%%%%%%$$$$$$$$%%}}$$&&&&@@WWWW&&@@@@@@@@WW@@@@WW@@@@&&@@@@WW@@@@WW######WW####WWWW@@@@WW@@&&&&&&&&%%@@@@@@%%}}}}}}}}}}}}}}@@@@@@@@@@@@WW@@&&&&&&$$WW@@$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$%%$$$$%%%%%%%%$$$$%%$$%%!!$$&&@@@@WW&&@@WW@@@@@@WW@@@@WW@@@@@@@@@@WW@@@@WW##WWWWWWWW##WWWW@@@@WW@@&&&&&&&&%%@@@@@@}}  !!}}}}}}}}}}%%@@@@@@@@@@@@&&&&%%&&%%%%@@$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$%%%%$$$$%%%%%%$$$$%%%%%%%%}}}}$$&&&&@@&&@@@@WW@@&&@@WW@@@@WW@@@@@@@@@@WW@@WWWW######WW####WWWW@@@@WW@@@@&&&&&&%%@@@@@@$$      !!}}}}$$&&&&@@@@@@@@WW@@@@&&&&%%$$@@$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$%%%%$$$$%%%%%%$$$$%%%%%%$$%%$$$$@@&&%%@@@@@@@@@@WW&&%%$$%%@@WW@@@@@@@@@@WW@@WWWW##&&&&######WW@@@@@@WW@@@@&&&&&&%%@@@@@@%%        !!}}$$&&&&@@@@@@@@@@@@&&&&&&&&WW@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$%%%%$$$$%%%%%%%%$$%%%%%%%%%%%%$$%%@@%%@@@@WW@@WWWW@@%%}}}}}}@@WW@@@@@@@@@@WW@@@@WW##%%$$######WW@@@@@@WWWW@@&&&&&&&&@@@@@@%%          }}%%&&@@@@@@@@@@WW@@&&&&&&&&&&@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$%%%%$$%%%%%%%%$$%%%%%%%%%%%%%%%%%%%%@@&&&&@@@@@@@@@@@@$$}}}}}}%%@@@@@@&&@@@@WW@@@@WW##@@&&####WWWW@@@@@@WW@@@@&&&&&&&&@@@@@@&&          !!&&@@@@@@@@@@@@@@@@&&&&&&&&@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%$$&&%%$$%%@@@@@@@@%%}}}}}}}}%%@@@@@@&&@@@@WW@@WWWW##@@&&##WW##WW@@@@@@@@WW@@&&&&&&&&@@@@@@&&          !!@@@@@@@@@@@@@@@@@@@@&&&&&&@@@@&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%%%$$%%%%%%%%$$%%%%%%%%%%%%%%%%%%$$$$%%&&$$%%@@WW@@@@@@$$}}}}}}}}$$@@@@@@@@@@@@WW@@WWWW##@@%%&&######WW@@@@@@WW@@&&&&&&&&@@@@@@&&          !!@@@@@@@@@@@@@@@@@@@@&&&&&&@@@@&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$%%%%$$%%%%%%$$$$%%%%%%%%%%%%%%%%%%%%%%$$$$$$&&&&@@WW@@@@@@&&%%}}}}!!$$@@@@@@@@@@@@WW@@@@WW##@@%%$$WW##WWWW@@@@WWWW@@&&&&&&&&@@@@@@@@  !!!!!!!!!!@@@@@@@@@@@@@@@@WW@@&&&&&&&&@@&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%%%%%%%%%%%%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@&&%%@@WW@@@@@@&&&&%%}}!!}}@@@@@@@@@@@@WW@@WWWW##&&%%$$####WWWW@@@@@@WW@@&&&&&&&&&&@@@@@@    !!!!!!!!@@@@@@@@@@@@@@@@WW@@&&&&&&&&@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%@@@@WW@@@@@@@@&&&&$$  $$@@@@@@@@@@@@WW@@@@WW##%%%%$$######WW@@@@@@WW@@&&&&&&&&&&@@@@&&  !!!!!!!!!!@@@@@@@@@@@@@@@@WW@@&&&&&&&&@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&@@@@WW@@@@@@@@@@@@&&!!}}@@@@&&@@@@@@WW@@@@WW@@$$}}$$@@####WW@@@@@@WW@@&&&&&&&&&&@@@@%%  !!!!!!!!!!&&@@@@@@@@@@@@@@WW@@&&&&&&&&@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@WW@@@@@@@@@@@@@@!!}}@@@@&&@@@@@@WW@@@@WW%%!!!!!!&&####WW@@@@@@WW@@&&&&&&&&&&@@@@&&  !!!!}}}}!!&&@@@@@@@@@@@@@@WW@@&&&&&&&&@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@WW@@@@@@@@@@@@@@!!$$@@@@&&@@@@@@WW@@@@WW##@@%%$$WW##WWWW@@@@@@WW@@&&&&@@&&%%@@@@@@!!  %%$$$$}}}}@@@@@@@@@@@@@@WW@@@@&&&&&&@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@WW@@@@@@@@@@@@@@}}%%@@@@@@@@@@@@WW@@@@WWWW%%%%%%&&####WW@@@@@@WW@@&&&&@@&&%%@@@@@@}}!!%%%%}}!!!!!!&&@@@@@@@@@@WW@@@@&&&&&&@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@WW@@@@@@@@@@@@&&%%%%@@WW@@@@@@@@WW@@WWWW$$}}}}!!}}WW##WW@@@@@@WW@@&&&&@@&&%%@@@@@@%%}}%%%%$$}}$$}}!!@@@@@@@@@@WW@@@@&&&&&&@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@&&@@@@WW@@@@@@@@@@@@$$$$%%WWWW@@@@@@@@WW@@@@WW&&}}%%$$}}&&##WW@@@@@@WW@@&&&&&&@@%%@@@@@@$$!!%%$$$$$$}}!!}}@@@@@@@@@@@@@@@@&&&&&&@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@&&@@@@WW@@@@&&$$$$%%$$$$%%WWWW&&@@@@@@WW@@@@WWWW&&&&&&%%@@##WW@@@@@@WW@@&&&&&&@@%%@@@@@@$$  !!    !!!!%%@@@@@@@@@@@@@@@@@@&&&&&&@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@WW@@@@&&$$$$$$%%%%$$WWWW&&@@@@@@WW@@WW@@&&%%&&%%%%%%&&@@@@@@@@WW@@@@&&&&&&%%@@@@@@$$            %%@@@@@@@@@@@@@@@@@@&&&&&&@@@@&&%%%%%%}}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@WW@@%%          !!$$WW@@&&@@@@@@WW@@WW%%&&@@@@&&@@&&%%&&WW@@@@WW@@@@&&@@&&%%@@@@$$$$            $$@@@@@@@@@@@@@@WW@@&&&&&&&&@@&&%%%%$$}}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@WW@@!!            !!WWWW@@@@@@@@WW@@%%&&&&&&&&@@@@@@@@WW@@@@WWWW@@@@&&@@@@&&@@@@&&}}        !!!!}}}}%%WWWW@@&&&&@@@@&&&&&&&&@@&&%%%%%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@WW@@              !!WWWW&&&&@@@@WWWWWW%%%%%%%%%%%%%%&&WWWW@@WW@@@@@@&&@@@@&&@@@@@@%%  !!!!!!!!!!  !!$$}}}}$$!!$$WW@@&&&&&&&&@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@&&@@@@WWWW!!            !!@@@@@@@@@@@@WWWW$$%%}}$$$$}}$$%%%%$$%%&&WWWW@@@@@@&&&&@@&&@@@@&&  !!!!!!  !!!!!!%%%%@@%%  &&WW@@&&&&&&&&@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%%%}}}}!!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@&&@@@@WWWW%%              $$WW&&@@@@@@@@$$%%$$&&@@&&&&%%$$$$$$%%%%$$%%&&&&@@@@@@@@&&@@@@@@  !!!!!!!!      !!$$&&$$%%&&WW@@&&&&&&&&@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$}}$$!!}}$$
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@&&@@@@WW@@@@$$            %%WW@@&&@@&&$$$$$$&&&&%%%%&&&&&&&&&&%%$$$$%%%%$$$$%%&&&&&&@@@@@@      !!}}}}      $$@@@@$$!!WW@@&&&&&&&&@@@@%%%%$$%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$!!}}$$%%$$
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$}}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@&&@@@@WW@@@@$$          !!WW@@@@@@$$%%}}%%@@%%}}$$$$$$}}$$%%&&&&&&@@&&%%}}}}%%%%$$$$&&@@@@  !!  !!}}%%  !!!!%%}}}}}}}}@@@@&&&&&&&&@@@@%%%%$$%%$$$$%%%%%%%%%%%%%%%%%%%%%%%%$$$$}}$$!!$$$$$$%%}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}}}}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%%%@@@@@@@@@@WW&&!!          !!WW&&&&$$%%}}@@&&%%$$$$@@WW&&$$$$$$}}}}$$&&&&&&&&&&&&$$}}$$%%$$}}}}}}  !!}}%%!!!!$$$$%%&&}}!!@@@@&&&&&&&&@@@@%%%%!!!!  }}%%%%%%&&%%%%%%%%%%$$%%%%$$$$!!}}$$%%$$$$$$}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}}}}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$%%@@@@&&&&%%%%}}!!%%  !!    !!WW%%%%$$$$&&&&$$$$%%@@@@@@@@@@@@@@&&$$$$$$}}$$%%&&@@&&&&&&%%$$$$%%%%}}}}}}$$$$$$%%$$%%&&$$}}@@@@@@&&&&&&@@@@&&%%$$%%$$%%%%%%%%%%%%$$}}}}$$}}$$}}}}}}$$%%}}%%$$$$$$$$
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$}}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$%%@@@@@@%%!!$$&&%%%%}}!!!!}}!!%%%%$$%%@@&&$$$$&&@@@@@@@@@@@@@@@@@@@@@@@@&&$$}}$$$$$$%%&&@@&&&&%%$$$$$$%%%%$$$$}}$$%%@@$$  @@@@@@&&&&@@@@@@&&%%$$%%%%$$%%%%%%%%%%$$%%%%%%$$}}!!$$$$$$$$$$%%$$%%$$}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$&&@@@@@@@@!!!!!!}}!!&&%%!!$$$$%%}}&&&&%%$$%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%$$}}}}$$%%&&&&&&&&&&%%$$$$%%$$$$$$%%%%}}&&@@@@&&&&&&&&@@&&%%}}!!!!!!$$%%%%%%%%%%&&%%$$}}$$$$%%$$$$$$}}%%$$$$$$%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%@@&&@@@@&&%%!!!!!!&&@@$$$$$$$$@@&&$$$$%%WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%$$$$}}$$%%%%&&&&@@&&%%$$$$%%$$$$}}&&@@@@@@&&&&&&@@@@$$!!%%%%}}%%%%%%%%%%%%&&&&$$%%$$$$$$$$$$$$$$$$}}$$%%}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}}}}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%@@@@@@&&$$$$!!  }}&&$$%%$$%%@@&&$$$$&&WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%$$}}}}$$%%&&&&&&&&%%$$$$$$$$$$%%%%&&&&&&@@@@$$%%@@&&%%$$$$$$%%%%%%&&&&&&$$$$$$$$$$%%$$$$$$%%$$!!!!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!!}}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$%%@@@@@@@@&&}}%%!!!!}}%%}}&&@@%%$$$$WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@%%$$$$}}}}$$&&&&&&@@@@%%}}}}%%%%$$$$&&@@&&&&&&@@&&%%&&%%%%&&&&&&&&&&&&}}}}$$$$}}%%%%%%!!}}!!!!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%$$%%@@&&@@&&%%%%%%}}$$%%$$&&@@$$$$%%@@WWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@@@@@@@@@@@@$$$$$$}}$$%%&&@@&&&&&&$$}}$$%%&&%%%%@@@@&&&&&&%%%%%%&&&&&&&&&&}}$$!!$$&&%%!!}}}}!!!!}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$}}%%@@@@@@@@%%%%$$%%$$%%@@%%$$$$@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%$$$$}}$$%%&&&&@@&&&&$$$$$$%%%%$$%%&&@@%%%%%%&&&&&&&&%%}}}}$$&&$$!!}}!!!!$$&&&&
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!!}}!!$$@@@@@@&&%%$$%%$$&&@@$$$$%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%$$}}$$$$%%&&&&&&&&%%$$$$$$%%%%$$}}%%%%&&&&%%$$$$%%$$}}}}!!}}$$&&@@%%}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%%%%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$&&$$%%@@@@@@&&$$%%$$@@&&$$$$&&@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&$$$$$$$$%%&&&&&&&&%%$$$$$$$$$$%%&&&&%%&&%%}}}}}}!!}}%%@@&&$$!!!!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$}}$$&&%%$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$@@@@%%%%$$%%@@%%$$%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%$$$$}}$$%%&&&&&&&&$$}}$$%%%%%%$$}}$$!!}}$$&&@@%%}}!!!!}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$%%$$%%%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$!!}}!!$$@@$$&&}}&&@@$$$$&&##@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&$$$$$$$$%%&&&&&&&&%%$$}}}}!!}}$$&&@@$$!!!!!!!!!!%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%$$}}$$&&%%}}%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&$$$$$$%%}}@@&&}}$$&&&&@@WWWW@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%$$$$}}$$%%}}}}!!!!}}%%@@&&}}!!!!!!!!!!!!}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$%%&&%%}}%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&%%$$&&&&%%%%$$%%@@%%$$%%WWWW@@&&&&@@WWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%!!}}}}!!!!$$&&&&$$}}!!!!}}$$!!!!!!!!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$&&%%%%%%%%%%%%%%$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&@@$$%%$$&&@@$$$$&&&&@@WW@@&&&&&&@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$$}}}}}}}}$$%%%%$$!!!!!!!!!!%%&&%%!!}}$$
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%%%%%%%%%%%%%%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$&&&&%%%%$$&&&&$$$$@@@@&&@@@@@@@@&&@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$$!!!!$$&&&&$$}}!!!!!!!!!!!!$$%%&&&&@@@@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%%%$$%%$$%%%%$$%%%%%%$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$%%@@%%$$%%@@WW&&&&@@@@@@@@@@&&&&WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&}}%%&&%%}}!!!!!!}}%%}}!!!!!!&&&&@@@@@@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&$$%%%%%%%%%%%%%%%%%%}}&&$$$$%%%%%%$$%%$$}}$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&%%%%%%}}%%$$&&@@$$$$%%WW@@@@&&@@WW@@@@@@@@@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&$$!!!!  !!!!%%%%%%!!$$$$%%&&@@@@&&
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}}$$%%&&$$%%%%$$%%$$$$&&$$}}%%&&%%}}%%%%$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&%%%%}}$$$$@@&&$$$$@@WW@@WW@@&&&&WW@@@@@@@@@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&}}!!}}!!!!!!!!%%&&@@@@@@%%&&%%%%&&
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%&&%%$$%%$$%%$$%%$$%%$$$$$$&&%%}}%%&&$$%%$$%%&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}}$$$$%%@@%%$$%%@@@@WW@@@@&&&&@@WW@@@@@@@@@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%}}&&%%!!}}}}%%&&@@@@@@&&%%%%&&&&
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%$$$$$$%%$$%%&&$$$$%%%%%%$$%%%%%%$$%%&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&%%$$$$&&&&$$$$&&WW@@@@@@WW@@&&@@@@WW@@@@@@@@@@@@@@@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW&&}}%%&&%%%%&&$$&&&&&&%%%%@@&&%%@@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$&&%%$$}}}}$$}}%%%%%%%%%%$$%%%%%%$$$$%%%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&%%%%&&&&$$%%@@@@@@@@@@@@@@&&&&&&@@@@@@@@@@&&@@@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@&&&&%%}}%%&&@@@@@@&&%%%%%%&&&&&&@@@@@@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$%%$$$$%%%%%%$$%%}}%%!!$$%%%%$$%%%%%%$$%%%%$$$$%%$$%%%%%%%%&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&%%&&$$}}%%WWWW@@@@@@@@@@@@&&@@@@@@@@@@@@@@&&&&&&@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&$$!!$$%%&&$$%%&&@@&&%%%%&&&&%%&&@@@@@@@@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$%%$$%%%%&&$$$$}}$$  %%$$$$%%%%%%$$%%$$$$%%%%$$$$$$%%%%%%%%&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@&&@@@@@@WW@@@@@@&&&&@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWW$$}}%%$$  !!@@@@&&%%&&%%%%&&&&%%&&@@@@@@@@@@@@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%%%%%$$$$$$$$%%&&%%&&$$%%&&$$!!$$%%$$%%%%%%}}%%%%$$%%&&$$$$$$%%%%$$$$&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&%%&&&&WW@@@@@@@@@@@@@@@@&&@@@@@@@@@@@@%%&&@@@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$$%%$$  !!  $$$$%%@@@@&&%%&&&&&&&&@@@@@@@@@@@@@@@@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%%%&&$$&&&&@@@@@@@@&&&&&&&&&&&&}}$$%%%%$$&&}}}}&&%%%%%%%%}}}}%%%%%%$$%%%%&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&@@@@@@@@@@@@@@@@WW@@@@@@@@@@@@@@@@&&@@@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%!!}}!!!!!!!!}}}}&&@@&&&&&&%%&&@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$%%&&$$&&&&WW######WW@@WW@@@@&&%%%%&&&&&&%%%%%%}}%%%%%%}}%%$$%%%%%%%%$$%%%%&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&@@@@@@@@@@@@@@@@WW@@@@@@&&&&@@@@@@&&%%@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@$$%%$$!!!!!!$$!!}}&&&&@@@@@@%%&&@@@@@@@@@@@@@@%%@@@@@@&&
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$%%%%%%@@WWWW##WW##@@@@WW@@@@@@%%@@@@@@@@&&&&&&%%%%%%%%%%$$%%%%}}%%%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&%%%%&&&&@@@@@@@@@@@@@@@@@@@@&&&&&&@@@@@@%%!!$$@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@&&$$%%}}  !!}}}}!!$$%%&&&&%%}}%%&&@@@@@@@@@@@@@@@@@@@@@@@@&&%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$}}%%$$&&@@##WW##WW@@@@WW@@@@@@@@%%WW@@@@@@WW@@@@@@@@@@&&&&&&&&&&&&$$}}!!%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&%%&&&&@@@@@@@@@@@@@@@@@@&&&&&&@@@@&&$$!!!!$$@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%!!!!!!}}!!!!$$$$&&&&%%}}}}$$}}&&@@@@@@@@@@@@@@@@@@@@@@&&&&&&
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$&&@@&&&&@@@@&&%%%%&&%%%%&&&&%%@@@@WW@@WW@@@@@@WWWWWWWWWW@@&&&&$$%%$$%%&&&&%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@&&@@@@@@%%}}!!!!  }}@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&$$}}!!!!!!!!}}!!%%@@&&%%}}}}}}}}$$@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&%%}}$$&&&&%%%%&&&&&&@@&&&&&&&&&&%%%%%%%%%%&&@@@@WWWW@@@@@@@@@@WW@@@@&&%%WW}}%%%%&&%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@&&$$}}!!!!    }}@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&}}$$!!!!!!}}}}}}&&&&&&%%}}}}$$}}$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&%%}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&%%&&&&&&$$@@@@%%&&%%$$$$}}$$$$$$$$%%&&&&}}$$%%%%%%%%&&@@@@WW####@@@@&&&&@@$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@$$!!!!      !!$$@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@%%}}$$!!!!!!$$!!$$&&&&&&$$!!}}$$}}%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&}}&&
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&%%&&%%&&WW%%&&}}$$$$&&@@WWWWWW@@&&%%%%$$}}}}$$&&&&&&&&%%%%%%%%%%&&%%%%&&&&&&@@}}%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@$$!!    !!$$%%@@@@WWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@$$%%%%!!!!!!}}!!$$%%@@&&%%}}}}$$}}%%@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&$$&&&&
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&@@@@%%$$$$&&WW######WW@@@@WW&&@@&&$$$$}}$$}}$$$$%%&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@$$!!}}$$$$%%@@@@WWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@}}$$$$!!!!}}}}!!}}%%@@&&%%}}}}$$}}%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&%%%%@@@@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&%%%%%%&&@@%%&&$$&&@@WWWW##WW##@@@@WW&&&&&&%%@@&&@@@@@@&&%%%%$$$$$$%%%%%%%%&&&&}}}}%%$$%%%%&&%%&&&&&&%%&&&&&&&&&&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@&&$$$$$$$$%%@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$$%%}}!!!!}}!!}}}}%%@@&&$$}}}}}}$$%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&$$&&@@&&
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&$$&&%%&&$$$$@@WW@@WWWWWW@@&&@@@@&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@&&&&%%$$$$}}}}%%$$$$$$%%%%&&%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@&&$$$$$$$$%%@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%}}!!!!!!!!}}}}%%@@&&$$}}}}$$$$&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&%%$$
%%%%%%%%%%%%%%%%%%&&&&&&&&%%%%&&&&&&%%%%%%%%%%%%%%%%%%&&%%%%&&&&&&&&&&%%%%%%%%&&%%$$@@&&@@&&@@WWWWWWWW@@@@&&&&%%&&@@@@@@WW@@@@@@WWWW@@@@WW@@&&@@&&}}}}}}}}$$$$&&&&&&&&}}$$%%&&&&&&&&&&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@&&$$$$$$$$%%@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@&&%%}}}}!!!!}}}}}}&&@@&&$$}}}}}}}}%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%%%%%%%&&
%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%&&%%%%&&%%&&&&&&&&%%%%&&@@%%$$@@@@&&@@WWWWWW####@@WW@@@@@@&&%%@@&&&&&&&&@@@@@@WWWW@@@@@@@@@@&&@@@@}}!!}}%%&&&&%%%%}}$$&&&&&&&&&&&&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@&&$$$$$$$$$$@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%}}}}!!!!}}}}}}&&@@&&$$!!}}}}}}&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&%%%%%%&&&&$$
%%%%%%&&&&&&&&&&&&&&&&&&&&&&%%&&%%%%%%%%%%&&%%%%&&%%&&&&&&&&&&&&&&&&&&%%%%$$$$$$@@@@@@&&WWWW##WWWWWW@@@@%%%%%%&&&&@@@@@@@@@@@@@@@@&&&&&&@@WW@@@@&&@@@@$$!!%%&&&&%%}}$$%%%%&&%%&&&&&&&&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@&&$$$$}}$$$$@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@&&&&%%}}!!!!!!}}!!}}@@@@&&}}}}$$}}$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%&&&&}}!!%%
%%%%&&&&&&&&&&&&&&&&&&&&&&%%&&%%%%%%%%&&&&%%%%&&&&&&&&&&&&&&&&&&&&&&&&%%$$}}@@WW@@&&%%%%@@WWWWWW##WW@@WW@@&&&&%%$$@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&%%&&&&$$%%&&&&&&%%$$%%$$%%&&&&&&&&&&&&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@&&$$$$}}$$$$@@@@WWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@WW%%&&%%}}}}!!!!}}!!$$&&&&&&}}}}$$}}$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@}}$$$$&&%%%%@@
&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$@@WW&&&&%%@@WWWWWW##WWWW@@WW&&&&&&&&&&@@@@@@@@@@&&&&@@@@WW@@WW@@@@@@%%&&&&}}$$&&&&&&%%$$%%$$$$&&&&&&&&&&&&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@&&$$}}!!}}}}%%%%&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW&&&&%%}}}}!!!!}}!!$$&&&&%%}}}}$$}}%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&}}$$%%@@@@@@
&&&&&&&&&&&&&&&&&&&&&&&&&&%%&&%%%%&&%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$@@@@@@@@@@&&WWWWWW####WW@@WW@@@@@@%%@@@@@@@@@@@@&&&&@@@@@@@@@@&&%%%%%%@@@@}}$$&&&&&&&&$$%%$$$$&&&&&&&&&&&&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@%%!!!!!!!!!!$$}}$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW&&&&%%$$}}!!!!}}}}$$&&&&%%$$$$$$$$%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%&&%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%&&@@@@@@@@@@WWWWWW##WWWW@@WW@@@@&&%%WW@@@@@@%%$$%%&&@@@@WW@@WW@@@@&&%%%%@@$$%%&&&&&&%%$$$$%%$$%%&&&&&&&&&&&&&&&&&&&&&&WW@@@@@@@@@@@@@@@@@@@@&&$$}}!!!!!!}}}}$$$$}}$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%$$}}!!!!$$}}%%&&&&%%}}$$$$$$&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&@@@@$$
&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%@@WW@@@@@@@@WWWW######WWWWWW@@@@@@%%WW@@WW}}  !!}}$$&&@@@@@@@@&&&&&&%%%%&&$$%%&&&&&&$$$$!!    %%&&&&&&&&&&&&&&&&&&&&&&@@@@@@@@@@@@@@WW@@@@%%}}}}!!!!!!!!$$}}%%$$}}%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&%%}}}}!!!!$$!!%%&&@@%%}}$$$$}}&&WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$$
&&&&&&&&&&&&&&&&&&&&%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%&&@@@@&&@@@@WWWW##WWWWWWWWWW@@@@@@%%WW@@%%        }}%%@@@@@@WW@@@@@@%%@@&&$$$$%%&&&&$$}}}}$$$$&&&&&&&&&&&&&&&&&&&&%%%%@@@@WW@@@@@@@@WW&&}}}}!!}}}}}}}}!!}}}}$$$$$$@@%%@@@@@@@@@@@@@@@@@@@@WWWW@@WW@@%%%%}}}}!!!!}}!!%%&&&&$$}}$$$$$$&&@@WWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
&&&&&&&&&&&&&&&&&&%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%@@@@&&$$@@@@WW####WW##WW@@WW@@@@@@%%WW@@$$          %%@@@@@@WW@@@@&&%%WW&&$$%%&&&&&&%%%%}}}}!!$$&&&&&&&&&&&&&&&&}}}}&&WWWW@@@@@@@@@@$$$$!!$$}}$$$$}}!!!!}}}}%%}}%%&&%%@@@@@@@@@@@@@@@@@@@@@@WW@@%%%%}}}}}}}}}}!!%%@@&&$$}}%%}}$$@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
&&&&&&&&&&&&&&&&&&&&&&%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%@@WW&&$$@@@@WW####WW##WW@@WW@@@@@@%%WW@@$$          &&@@@@@@WW@@@@@@%%WW&&$$%%&&&&&&%%%%!!!!!!$$&&&&&&&&&&&&$$}}$$%%&&@@@@@@@@@@%%}}}}}}&&&&$$$$$$}}}}}}}}}}!!$$%%$$%%@@@@@@@@@@@@@@@@@@@@WW$$%%}}!!}}!!$$}}%%@@&&$$$$$$}}$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@@@&&&&@@@@WWWWWWWWWW@@@@WW@@@@@@%%WW@@}}  !!!!    &&@@WWWWWW@@@@@@%%WW&&$$%%&&&&%%!!!!$$$$$$%%%%&&&&&&%%$$}}$$$$$$&&@@@@@@&&$$}}$$$$%%%%%%%%%%$$!!!!!!!!!!}}$$$$%%&&@@@@@@@@@@@@@@WW@@%%%%}}}}}}}}}}}}%%&&&&$$$$$$$$%%&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@@@@@@@@@@@WW&&&&##WW@@@@WW@@@@&&%%WW@@}}  !!  }}  &&@@&&&&WW@@@@@@%%WW%%$$%%&&&&%%$$}}}}}}!!!!!!&&&&$$}}$$$$$$$$$$&&@@@@@@!!!!}}}}$$@@%%%%%%&&%%}}!!  !!!!}}$$}}!!@@@@@@@@@@@@@@@@@@&&$$!!!!}}}}$$%%@@&&$$$$$$$$%%@@WW@@@@@@@@@@@@@@@@&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%&&@@@@@@@@@@@@@@&&@@WWWW@@@@WW@@@@&&%%WWWW}}  !!}}!!  &&@@%%&&WW@@@@@@%%WW%%$$%%&&%%$$!!$$%%$$$$$$$$%%}}$$$$$$$$$$$$$$&&@@@@&&!!}}}}}}}}@@%%%%&&$$}}!!!!!!!!}}$$}}%%%%@@@@@@@@@@@@@@WW@@WW$$$$}}$$%%@@&&$$$$$$$$%%@@@@@@@@@@@@@@@@@@@@@@&&&&@@@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
&&&&&&&&%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%&&WW@@@@@@&&@@WW&&&&@@WW@@@@@@&&&&&&%%@@@@!!!!!!  !!  $$%%@@@@WW&&@@@@%%WW%%$$%%%%}}}}$$$$%%$$$$%%}}}}$$$$$$$$$$$$$$$$%%@@$$%%}}%%$$}}!!&&$$$$$$}}}}!!!!    }}!!!!}}%%@@@@@@@@@@@@@@@@@@@@&&$$%%@@&&$$$$$$}}%%WW@@@@@@@@@@@@@@@@@@@@@@@@&&@@&&&&%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
&&%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%@@WW@@WW@@@@@@@@%%&&WWWW@@@@WW@@@@&&%%@@WW}}!!$$$$}}!!%%@@&&@@WW@@@@&&&&@@%%$$%%%%%%$$$$$$%%$$}}}}}}$$$$$$$$$$$$$$$$$$%%}}$$%%!!%%&&%%}}$$!!  !!$$!!    !!}}!!!!!!}}%%@@@@@@@@@@@@@@@@@@@@%%&&%%$$%%}}$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&@@%%$$WW$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&@@
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%@@WW@@@@$$@@@@WW%%%%WWWW@@@@@@&&@@&&%%@@WW!!  %%$$}}!!$$@@%%&&WW&&&&$$}}$$$$}}%%%%$$$$$$$$$$$$$$}}}}$$$$$$$$$$$$$$$$$$$$}}%%$$}}&&&&}}$$!!    !!  !!  !!!!!!!!!!!!!!%%WW@@@@@@@@@@@@@@@@@@@@$$%%$$%%@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&%%%%&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%@@WW@@@@%%@@@@&&}}}}WWWW@@@@@@&&@@&&%%@@WW!!!!%%%%$$  $$&&%%&&##%%$$$$$$}}}}}}$$$$%%%%$$$$$$$$$$}}}}$$$$$$$$$$$$$$$$}}!!}}%%$$$$&&$$  !!!!      !!!!    !!!!!!!!!!}}WW@@@@@@@@@@@@@@@@@@@@@@WW&&@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&@@@@$$%%@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%@@WW@@&&&&@@WWWW%%$$@@WW@@@@@@&&@@&&&&@@WW  }}$$$$$$!!$$$$}}}}%%$$$$}}}}%%%%$$}}}}$$%%%%$$$$$$$$$$}}}}$$$$$$$$$$}}!!$$%%$$%%}}%%}}!!!!!!    !!!!!!!!!!    !!!!!!!!&&@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&@@&&}}$$%%%%@@@@@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%@@WW@@&&&&@@WW$$}}$$&&WW@@WW@@@@@@&&&&@@&&            $$}}$$}}$$$$%%$$&&%%&&$$&&$$}}%%&&%%%%$$$$}}}}!!}}$$$$}}!!!!%%%%&&@@&&$$  }}!!    !!!!!!!!!!!!  !!!!!!!!!!$$WW@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&@@&&%%}}@@@@@@&&@@%%&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%@@WW@@$$&&@@WWWW&&%%WWWW@@WW@@@@@@&&&&@@$$            }}}}$$$$}}$$$$%%%%%%&&}}$$&&%%$$%%%%%%%%%%}}}}}}}}$$!!!!$$$$$$}}&&@@WWWW$$!!    !!!!!!!!    !!!!!!!!!!}}}}&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%$$}}%%%%&&@@@@&&$$}}&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%@@WW$$  %%@@WW&&&&&&&&WW@@WW@@@@@@&&&&@@}}            $$}}$$}}$$$$%%}}%%&&&&&&}}}}%%%%%%%%%%%%%%$$}}$$}}!!}}%%