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