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