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