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