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