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