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