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