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