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