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