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