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