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