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