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