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