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