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