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