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