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