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