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