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