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