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