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