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