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