&&&%%=&#@$====?.`,&####$&==&$%>:,'''..,,^^~~~--:!!!+??%&$###@@@@@@@%=%#@@@@@&===
%%%%%=$@@$====:``)$###$$&%&&&>:,'''...,,^^~~~--:;!!*)??%$$##@@@@@@@@%%$@@@@@#===
%%%%%=#@@&===>.`,$####$$&$&&?:,.'''..,,^^^~~---:;!**+>==&$##@@@@@@@@$%&@@@@@@===
%%%%=%#@@&==%;``)#####$$$&&=;^..''...,,^^^~~---:;!!))+?=%&$##@@@@@@@@&%$@@@@@%==
%%%%=$@@@%%%?.`.&#####$$$%%*~,......,,,^^^~~---:;!**++>==&&$#@@@@@@@@$&&@@@@@$==
%%%%=$@@@%%%)``;#####$$#=%+-,......,,,^^^~~~---:;!**)+>?=%$$##@@@@@@@@&%#@@@@#==
%%%=%$@@#%%%~``?####$&#$??:^,.....,,,,^^^~~~--::;;*))+>>?%&&###@@@@@@@$%$@@@@@%=
%%%=%$@@#%%='`,$####&$#?=*^,......,,,^^^~~~~--::;;!*))>>?=&&$###@@@@@@#&&@@@@@&=
%%%=%$@@$%%)``:####&%#&+>-,.......,,,^^^~~~---::;;!*))+>??%&&$##@@@@@@@&&#@@@@#=
%%%=&$@@$%%-``)###$%&#??;^........,,,^^^~~~---::;;!*)))+>?=&&&$##@@@@@@&%#@@@@@=
%%%=&$@@&%=,`'?###$=$#>>~..'''...,,,^^^~~~---::;;!!**)))+>?=&&&###@@@@@$%$@@@@@%
%%==&$@@&%>'`.&##$=?#%>;,..'''..,,^^~~~~~---::;!!!***))))+>?=&&$###@@@@$%&@@@@@$
%%=%&#@@&%+``^$##&+=#?>:--~^,,,,^^~~------::;;!***))))++)+>?=&&$$##@@@@#%&@@@@@@
%%=%$#@@$&)'`-$#$>!&#==>+++))))**!!!;::::::;!**))++>>???>?&&$$$$$###@@@#&&@@@@@@
%%=%$#@@#&)'';$#&*)$$%?+++>?==%%%==?>)!;:;;!*)+>?=%%&&&%>=$#####$$##@@@@&&@@@@@@
%%=&$#@@@$+''*##=*+#>+-^^~-:*+?======>)!;;!*)>?=%&&&&&&=>=&$$$###$##@@@@&&#@@@@@
%==&$#@@@$+''+#$?*>#))-~~~--;!*)+>>>>>)!;;!)+?=%%&%%==?+)>=%&&$$$$$#@@@@&&#@@@@@
%=%&$#@@@#+''>$&>!%$*);;*)++?????>>>+)*!;;!)>=%%%=??>++))?%%&$$$$$$#@@@@$&#@@@@@
%=%&$#@@@@>''>$&>*&=!++?%&&&&&$$$%?>+)!:::;)>=%%=?>>>>?>+&$$$$$$$$$$@@@@$&#@@@@@
%=%&$#@@@@?..+&%>>&+!+%&$$&=&&##$$%?>);-~-:*>%%%?>>?%==>>$$###$$$$$$#@@@$&@@@@@@
==%$##@@@@%..)=%?=%!:)==%=+;%$$$%%&?>*:~^^-!>%%=>>?&?%%+>&$#####$$$$#@@@$&@@@@@@
==&$##@@@@$^.*?%=%?::!!*+>+**+>>>>?>+!-^,,^;>%%?+)&?!+?)+%&$#####$$$#@##$$@@@@@@
=%&$##@@@@@).!>=%&)-:;~-;*)+++>>??>+):^,..^:>==>))*;!)+)*=&$$####$$$#@##$#@@@@@@
=%&$##@@@@@$^*)+%&;:;~,,^-;*)+>>>>+*;^...',:+=?+)**)++>+!=&$$$$$$$$$#@@#$@@@@@@@
=%&$##@@@@@#:!!;%=-!:,,.,,~-:;!!!!;:~,...',-+?>+*!!!*)++!>%&&&&$$$$$@@#$#@@@@@@@
=%$##@@@@@@@=;-:&?;!~,,,,,,^~--::--~,....'.-+??+*!!!!!**;)>?=%%&&$$$####@@@@@@@@
=&$##@@@@@@@#?-+==*!~,,,,,,^^~~--~~^,....'.-+=?>)*!!!!!!;*)+>?%&&$$####@@@@@@@@@
%&$##@@@@@@@@#=>>=)!~^,,,^^^~~~~~~^,,....'.-)==?+*!!;;;;:!*+>?%&$$$####@@@@@@@@@
%&$##@@@@@@@###$?>>!-^^^^^^~~~~~~^^,,,...'.~)=%=>)*!;;;;:!)+?=%&$$$####@@@@@@@@@
%$###@@@@@@@##$#$=?*-~~^^~~~~~~~^^^^,,,..'.~*?%%?+)!!;;;:*)>?%&&$$$###@@@@@@@@@@
%$##@@@@@@@##$$##$&);-~~~~~~~~~~~^^^^,,.''.~!?%%=>)*!!;:;)+?=&&$$$##@@@@@@@@@@@@
&$##@@@@@@@#$&$##$$)!-~~~~~~~~~~~~~~^,..''.~!>%%%?+*!!!:!+>=%&&$$#@@@@@@@@@@@@@@
&$##@@@@@@##$$$$#$$>!:-~~~~~~~~~~~~~^..,..^:*?%%%=+)*!;:*>=%&&$$$#@@@@@@@@@@@@@@
&$#@@@@@@##$$$$$$$&%!:--~~~~~~~~~~~~^,^~~~:!?%%%%=>+*!:;>?%&&&&$$@@@@@@@@@@@@@@@
$##@@@@@@@$$$$$$$&&&*:--~~~~~~~~~~~~^-*?**+?%&&%%%?+*!:!?=%&&&$$#@@@@@@@@@@@@@@@
$##@@@@@@#$$$$$$$&%&>;:-~~~~~~~~~~^,,~)?>+?=&&&&&&=+*;;)=%%&&&$$#@@@@@@@@@@@@@@@
$#@@@@@@#$$$$$$&&%%%%!:-~~~~~~~^^^,,..,^~:+?&&$$&%?+!;!>%&&&&&$$@@@@@@@@@@@@@@@@
$#@@@@@@#$$$$$$&&%%%&>;--~~~~^^^^,,..'''.~;:+%&&&=>*!!*?%&&&&&$#@@@@@@@@@@@@@@@@
##@@@@@@$&$$&$$&&%%=&&*:-~~~~^^^^,,,..''.^~^;+?==>*!!!)%&&&&&&$@@@@@@@@@@@@@@@@@
##@@@@@#$$$$&&$&&==%%$=!:-~~~^^^^^^,,.,~:;:*>??>+*!;;!>&&&&&$$#@@@@@@@@@@@@@@@@@
#@@@@@@$$$&&&&&%&==%%$$?;:-~~~~~~~~~^:*))++=%%%>*!:::!?&&&&&$#@@@@@@@@@@@@@@@@@@
#@@@@@#$&&&&&&&&&==%&&##>;:-~~~~--;!+?=%%?=&$$&=+!:--!%&&&&$$@@@@@@@@@@@@@@@@@@@
#@@@@#$&&&%$&&&&&===&$##$+;:--~--;)==%$#*:*=$##$?*;;*=&&&&$$@@@@@@@@@@@@@@@@@@@@
@@@@@$&&&%&$&&%%%%=%%$###$);:----:;-~-:*;:*?&#&%%&&&&&&&$$$#@@@@@@@@@@@@@@@@@@@@
@@@@#&&&%&$&%%%%%%=%%$####=*;:------:-^-::)=&$%=&$$$&&&&$$#@@@@@@@@@@@@@@@@@@@@@
@@@#$&&%%&&&&%=%%&==%&$###=:!;:-----:!!!:;+=$$$$$$$$$$$$$$@@@@@@@@@@@@@@@@@@@@@@
@@@#$$%%&%&%&===%&==&&$##@%:-!;:----:!+)*>=&$$$$$$$$$$$$$#@@@@@@@@@@@@@@@@@@@@@@
@@#$$%=&%%&%&==?%&%%&&$###%:--!;--~~~-:+;)=$$&$$$$$$$$$$$#@@@@@@@@@@@@@@@@@@@@@@
@@##&=%&=%&%&====%%%&$$##@=---:;;-~~~~-;-*?$==&$$$$$$$$$$#@@@@@@@@@@@@@@@@@@@@@@
@##$%%%==&%%%=?==%%%&$$$$@?----:;!-~~~-;:)=$>?%&$$$$$$$$$$#@@@@@@@@@@@@@@@@@@@@@
@#$%=%%=%&%%%=???=%%&$$$$#?:---::;!;--;::)=$>?%&&$$$$$$$$$#@@@@@@@@@@@@@@@@@@@@@
@#&=%&==&&&&%%??==%%&$$$$#>:~~--:;;**!!::)%$?%&&&$$$$$$$$##@@@@@@@@@@@@@@@@@@@@@
##%=%==%$%$%==?>?=&&&$#$$#?;-~--::;!*+*-!+%$%&&&$$$$$$$$$$#@@@@@@@@@@@@@@@@@@@@@
@&==%?%&$&&%=%=??=%&&&#$$#=!-~---:;!!);-!>&$&&$$$$$$$$$$$##@@@@@@@@@@@@@@@@@@@@@
#%=%?=&#&$&===%??=%$&&$$$$&):----::;!*;-!?$&&$$$$$$$$$$$$#@@@@@@@@@@@@@@@@@@@@@@
&===?%$$&$%=%%&==%%$$&&$$$$?!----::;!!::)?$&&&$$$$$$$$$$#@@@@@@@@@@@@@@@@@@@@@@@
%==?=&#&$&==%%%=%%%$$&&$$#$&);---::;;!-:)=$%%&$$$$$$$$$##@@@@@@@@@@@@@@@@@@@@@@@
%=??%##&$%?=%%%=%&%$$&&$###&=);::::;;!-:)%$=%&&$$$$$$$##@@@@@@@@@@@@@@@@@@@@@@@@
====&#$&&===%%%?%&%$$&&&###$&=);:::;;!:!>%$=%%&$$$$$$##@@@@@@@@@@@@@@@@@@@@@@@@@
%===##$&%==%%%=?%&%$$&&&####&%=)!;;;!+*)?&&?=%&&&&&$$##@@@@@@@@@@@@@@@@@@@@@@@@@
%==%##$&==%%%%=?%%&$$&&$$###$&%=+*!;*))?%$%?=%&&&&&$$##@@@@@@@@@@@@@@@@@@@@@@@@@
%==&#$$%==%&&%==%&&$$&&$##@#$&&%=>*!*:*>?&=?=%&&%%&$$#@@@@@@@@@@@@@@@@@@@@@@@@@@
%=%&#$&==%&&&%==&&&$&$$$##@@$&&&%%>))%%?>&=?=%%%%%%&#@@@@@@@@@@@@@@@@@@@@@@@@@@@
%=%$#$%%%&&&&%?=$&$$&$$$##@@#&&&&%%?+?=>%?>?==%===&#@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%=%$$&%%&&&&&==&&&#&&#$###@@#$&&&&%&%>>>>>>?===?=&##@@@@@@@@@@@@@@@@@@@@@@@@###@
==%$$&&&&%&&%?%&&$#&$#####@@#$&&&&&&&&=>>>>>??>=&##@@@@@@@@@@@@@@@@@@##@@@@#####