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