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