@@@@@@@@@@@@@@&&&&&&&&%%%%%%%%%&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@&&&&&&&&%%%%%%%%%&&&&&&&@..   #&&@@@@@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@&&&&&&&&&%&%%%%%&&&&&&%,. ..,.     ...  .*#&@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@&&&&&&&&&&&&&*   ..,,,*,...,,**,,,...  .......     /@@@@@@@&&@@&@@@@@@
@@@@@&&&&&&&&&@&&@&#*......,*,,,***,,,/((  ,**,.*,.***,...  ..   *@@@@@&@&&&&&&&
@@@@@@@@@@@@@@/..,,,,***,******/*,*/,*/**,,*,,./,./*.*,//,. .  ..   .@@@@@@@@&&@
@@@@@@@@@@@.   .....,,,**/*,*,*,,,*/,*/*,,*/*.,*, /,. *.*(/*. .,.  .   /@@@@@@@@
@@@@@@@@@   .......,,,,**,,,***/,,,,**,,,*(*,,/,. *,. /*..(//*.  ,..     ,@@@@@@
@@@@@@@*    ......,*.,,,**//.,,**/*,,,,*(,,.*(/.../*. ,/,. ((/*..  ,,.     %@@@@
@@@@@@.   .........,**///..,,*/(*,***/(,,,,*(#...,(*.  (*,  #(//*.   ,.     .@@@
@@@@@.  ..........,*/*..,***/(,,,**/(#.,,,/(#,.. *(*.  *(*,  #(//,.   ..     .@@
@@@@,    .......,*/...,**//(*.,*//(#..,,*/#(,.. .*(*.  .(/*.  ////,.          %@
@@@@   ........,....,**//(#.,**/((/.,,,*(#/,,,.../(/,.  *(/*.  ./**,.          @
@@@#..............,***/((..,*//((..,,**(#/,,,..../(/,.   ,//,    ,,,..         @
&&&&............,,***//*.,,**/(..,,**/(#/,,,,,...*(/,..  .**,.    ...          @
&%%%,..,,,,,,,,,,,****,,,,**/*,,****////***,,,,..,/*,......,,...  ...         (@
#/(((,,,,,,,,,,,****,,,,**********////********,,,***,,.....,........          &&
((((((/***,****,,,**********/****/////////******,,,,,,,............ .       .%%&
#######%(******************////////////////*******,,,,,.,............      #%%%%
%%%%%%%%%&&///*********///////////////////*********,,,,,,..............  ...*%%%
*(%&&&&&&&&&@((////////////////////////////*******,,,,,,,,.............,......#&
.,,*(%&&&&&@@@@@#(//////////////////////////*******,,,,,,,,........,*,,,....../&
,,,,,*/##&@@@@&&&&&##(((((((((((((((////////*******,,,,,,,....,/*,,..,,......,%%
***,,,,*/###%&&&&&&&&&&&%####(((((((((///////*****,,,.,.,((//*%%%% .@&#* ..#**#%