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