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