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