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