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