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