@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%????????%SS##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S%?*+?S@@S?+;,,             ,,,:;+*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*;,       ::                           ,;?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,                                           ;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+                                               ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,                                                 S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*,                                                 ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S?+;:,                                           :*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%:                                            ,;+*?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                                  ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*                                              :***S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*;,                                            :::S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;,                                                *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*: ,,:,                                              ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#SSS#@#:                                             :+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@#%*;:;*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%          ,   :,                       : , ,,??#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@#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#####SSS%?**?%%%%%%%?*+;:,  
       +@@@@@@@@:       *@@@@@@@?        ;@@@@@@@#+    ,   ,:;++*??????****??,                                           ,,,                ,::;++*?; 
      :#@@@@@@@@*      ;@@@@@@@@#,      :#@@@@@@+,     ;#SS%?*+;:                                                          +?*****???%?;,  :S@@@@@@?, 
     :#@@@@@@@@@S,    :#@@@@@@@@@+     ,S@@@@@#:        %@@@@@@@?,  ,+?%%%%%%%;                                            ;S@@@@@@@@#;,    ,%@@@@?   
    ,S@@@@@@@@@@@;   ,S@@@@@@@@@@S     %@@@@@@;         ,#@@@@S,     ,+@@@@@#*;,                                            ,S@@@@@@%,       ,%@@@%   
   ,%@@@@@@@@@@@@%  ,S@@@@@@@@@@@@:   *@@@@@@@?         *@@@@%,        ?@@@@@@S,                                             :@@@@@@;         ,#@@@;  
   ?@@@@@@@@@@@@@@, ?@@@@@@@@@@@@@?  +@@@@@@@@#,       +@@@@@;         +@@@@@@*                                              ;@@@@@@S         ?@@@@%  
  *@@@@@@@@@@@@@@@%?@@@@@@@@@@@@@@#,;@@@@@@@@@@+      :@@@@@@%        :#@@@@@@;                                             :#@@@@@@@;       +@@@@@@; 
 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@S     ,#@@@@@@@:      ,#@@@@@@#,                                            ,%@@@@@@@@%      :#@@@@@@S 
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:   ,%@@@@@@@@*      %@@@@@@@?                                             *@@@@@@@@@@;    ,S@@@@@@@@+
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?   ?@@@@@@@@@S,    *@@@@@@@@+                                            ;@@@@@@@@@@@%    *@@@@@@@@@#
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#, +@@@@@@@@@@@;   +@@@@@@@@@:                                           ,#@@@@@@@@@@@@;  ;@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?+@@@@@@@@@@@@%  :@@@@@@@@@%                                            %@@@@@@@@@@@@@% ,#@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:,#@@@@@@@@#,                                            %@@@@@@@@@@@@@@*%@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S#@@@@@@@@@*        ,                                    +@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:       ,,                                    ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,                                             +@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?                                              *@@@@@@@@@@@@@@@@@@@@@@@@@@@@