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