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