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