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