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