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