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