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