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