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