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