             ;#@@@@@@@@@@@@@@@@@@@@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#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
        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;,   %@@@%:                                              ,+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@