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