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