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