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