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