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