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