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