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