@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#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,  ;@@@@@@@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@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?                                    ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,                                    ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                      +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@