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