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