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