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