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