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