@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%?+;::,,,,,::;;+*?%SS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S?+:,                     ,+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*:                             :?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+                                  ,?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*,                                     ;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?                                         +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%                                         :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                                        ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;,                                       ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,                                          ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S%*:                                              ,?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:   ,;;:,                                          :?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S%%#@S#;                                        :;::,:S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+:;;;,                                 ;#@@SS@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:                            , ;?*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*;:,:*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?:,                           ??*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@#%*+:,   ,   ,;%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,,               ,;:,  ,%%;*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@#S?+;,,    ,;?S#S+,   ,+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*S?++             :**#%**@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@#SS%*+;:,         ,*@@@@@@@#?:    ,+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*,            ;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
?**+;::,,         ,:;*%?,  :%#@@@@@@@@S+,    :*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S%+              ,,:;+?S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
          ,::;+*%S#@@@S,     ,?@@@@@@@@?        ;%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*;,                        ,+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
SSS##S,   *S@@@@@@@@@@;        ;S@@@@@+,     ,;:  :?@@@@@@@@@@@@@@@@@@@@@@@@@@%;                              :#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%;,
@@@@@;,    ,+#@@@@@@@%          +@@@@%        ,?%;  ,*#@@@@@@@@@@@@@@@@@@@@@#+                                 ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;,  ;
@@@@?        ,?@@@@@@@*         +@@@@;         ,#@S;  ,;%@@@@@@@@@@@@@@@@@@S:                                   +@@@@@@@@@@@@####@@@@@@##SS?*;:,   ;#@
@@@@,         ,#@@@@@@@?        ?@@@@S,        ,#@@@%,   ,+%#@@@@@@@@@@@@@S,                                     :****++;;::,,   ,,,,,,,,:::;;:    ;%@
@@@@?,        ,@@@@@@@@@%,      %@@@@@S:       :@@@@@:       ,;+*?%SS####S:                                     ,:,   ,;:::::;;++;   :%##@@@@S,      ;
@@@@@%,       :@@@@@@@@@@%,     %@@@@@@#:      ;@@@?:     ,*%?*+::,                                             :?:   :?@@@@@@@@?,    ,*@@@@S,        
@@@@@@S:      ;@@@@@@@@@@@S:   ,S@@@@@@@#:     +@@#,       ,?@@@@@%,  ,:;++;                                            +@@@@@@*        +@@@#:        
@@@@@@@#;     +@@@@@@@@@@@@#:  ,#@@@@@@@@#;    *@@*          %@@@%,    ,;S%;,                                            ;@@@@@;         S@@@%       ,
@@@@@@@@@+    *@@@@@@@@@@@@@#; :@@@@@@@@@@@;   ?@@S:        ,S@@@:       ,*@+                                            +@@@@@#:       +@@@@@+      *
@@@@@@@@@@*   ?@@@@@@@@@@@@@@@**@@@@@@@@@@@@+  S@@@S:       :@@@?          %;                                           ,S@@@@@@%,     ,S@@@@@@:    ;#
@@@@@@@@@@@?, %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*;#@@@@#:      ;@@@#;        ,%,                                    ::     ;@@@@@@@@*     +@@@@@@@S,  ,%@
@@@@@@@@@@@@S*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:     *@@@@#;       ;%,                                    :%,    %@@@@@@@@@;   ,S@@@@@@@@*  *@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S:    ?@@@@@#:      +%                                      S%   :#@@@@@@@@@#:  *@@@@@@@@@@++#@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S:   S@@@@@@#:     ??                                      ?@*  ?@@@@@@@@@@@S,:#@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S, ,#@@@@@@@#:   ,S*                                      ;@@+;#@@@@@@@@@@@@##@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:;@@@@@@@@@S,  ,#;                                      ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S, ;?,                                       ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S::,                                        ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                                         %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%                                          S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                         ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,                                         :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@