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