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