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