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