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