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