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