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