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