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