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