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