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