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