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