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