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