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