@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S?S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@#S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%??**++++;:,, ,:;*?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                    *#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?                      ,;;;,*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@#@@@@@@@@@@@#?;                            ;@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@S%#@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@+,                              +%@#@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@S#@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                  *@@#@@@@S%#@@@@@@S@@S@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                   ,#@#@@??%#@@@@@@#S?*S%@@@#%SS#@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?:;,                                   ,*%SS??%##@@@@@##*;S@%%S%?SS%SSSS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@#??%##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:,                                      :?::;?@@@@@@@@@@#*+%%**;*SS%+?S#@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?+;:;;                                        *#* ,S@@@@@@@@@@@;:**??%S###@#S@@#S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*,                                             ,*?;,;S###@@@S##%+??##S##@##%S?+S%?##SS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%+,                                               ,;:, ++??+%***S*+?S??###@@@?#?:+?*+*%?%SS#@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@#?:                                                  :+;  ;?;:,;:,:;;+%%S#@@@@@@@#+;,+%S@@@#%##?@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@:                                                   ,+:,:+%?;;: :?%?+%##@@@@@@@@@*:*?%S%%SS#?%@?#@@@@@@@@@@@##@#@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@?                                                   ;+:  :+**;,:*###?*#@#@@@@#***++%%S@@@#S#@??*+@@@@@@@@@@#S?%S##@##@@##@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@+                                                   %@#, ,:;,:*#@@@%;?%??*+**+;+???+*%%%??%#?S?++#SSSSS%##?*?SSSSS%*?##@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@+                                                   :%#: ,, :#@@@@#:;+::+?S@@@@@@@@@@@@#%%*++%%,;??*S#@@S+*%SS?+?*?S@@@@@@@@
@@@@@@@@@@#@@@@@@@@@@@@@@@;                                                     +?,  ,*@#S?;:;*?S@@@@@@@@@@@@@@@@S%?*;:*+,:?%;?#%+;*??+::*%%@S@#SSS#@@
@@@@@@@@@@@@@@@@@@@@@@@@#?+,                                                     :,   :;,,:,*#@@@@@@@@@#S%##S#%*+*%S???+; *#S%:;:;+*?+*%S#*%%?SS#@@@@@
@@@@@@@@@@@@@@@@@@@@@S*:,                                                               +#@S###@@@#S?*??+:,;**?%%;;?*#?S@;;?%;,:;::+?%%?*?%%S@@@@@@@@@
@@@@@@@@@@@@@@@@@@%+:                                                                   ,*@@@%*+;;;;+SS%?+*%**%%+*@S*S?;+: , ,;*??S%??%*:*%S###@@@@@@@
@@@@@@@@@@@@@@@@@@+                                                                       :+,,?%+*S#?%#@#@@@%*?%?*+;,,, ,;*?%#@@@@@@@@@@SS@@@@@@@@@@@@
@@@@@@@@@@@@@@@@#*                                                                          +%SS#%%S*S@@@@#%*;*+,,;:;+?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@;                                                                           ;%#@##%;S@#%*+:;*+,,;*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@%,                                                                            *@@@S%;:;++?##%+;?#@@@@@@###@@@#S?*+*@@@@@@@@@@@@@@@S@@@@
@@@@@@@@@@@@@@@S%;                                                                      ,    ,+;;+*;:S@@#*:+S@@@@@@@S;,,,:S?:     :S@@@@@@@@@@@@@@@@@@
@@@?++*%#@@@@@@@@#,                                                                    ;,     ;%SSS:;%*:,;S@@@@@@@@*,    ,SS+:     ;@@@@@@@@@@@@@@@@@@
@?:     ,#@@@@@@@@;                                                                    ,      *SS?+::+*%#@@@@@@@@@S:,;*??S@@@@?,  ,%@@@@@@@#@@@@@@@@@@
@@*,    ,#@@@@@@@@@*                                                             ,   *+       ;;:*??S@@@#@@@@@@#S#@@@@@@@@@@@#;    ,+@@@@@@@@@@@@@@@@@
@#*,  ,++S@@@@@@@@@@S+,                                                        ,;?+;?@#:     :*;:;?%??%%S#@@@@#@@@@@@@@@@@@@@%,      :?S#@@@@@@@@@@@@@
%:     ?@@@@@@@@@@@@@@@%;,                                                 :?SS%?+;;;+:     :#@@S++?S#@@@@@@@@@@@@@@@@@@@@@@@#:    ,:  *#@@@@@@@@@@@@@
:    :,,#@@@@@@@@@@@@@@@@#S%??*;;+:,                                      ;#@@@@@@@@#*     ,S@@@@#?%%#@@@@@@@@@@@@@@@@@@@@@@@@+    :; +@@@@#@@@@@@@@@@
     , :#@@@@@@@@@@@@@@@@@@@@@@@@@@#?+,,::;:,,;?%%%%S%?*+;:,,:;+*?%%%%???S@@@@@@@@@@@+     ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S:     ,;;?##@@@@@@@@@@@@
     ,;S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@:     :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;      ,?#?+:+#@@@@@@@@@@
     +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*       %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*        ,S@@#S#@@@@@@@@@@
     S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;        ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;         ,S@@@@@@@@@@@@@@
    ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;         :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S**;   ,;::?@@@@@@@@@@@@@@
    ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:         ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:  ,S@@@@@@@@@@@@@@@@@
    ;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,         +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+   :#@@@@@@@@@@@@@@@@
     ,+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+         ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?    %@@@@@@@@@@@@@@@@
    :+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:         ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%    +@@@@@@@@@@@@@@@@