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