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