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