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