@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  @@@@@@@@@@@@@@        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'                      
                         @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+  #@@@@@@@@@@@@@        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                      
                        `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,  '@@@@@@@@@@@@@        ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                      
                        ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#   ,@@@@@@@@@@@@#         @@@@@@@@@@@@@@@@@@@@@@@@@@@@@#     #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                      
                        +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,:::@@@@@@@@@@@@:         +@@@@@@@@@@@@@@@@@@.#@@@@@@@@+     :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                      
                        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@          `#@@@@@@@@@@@@@@@@@ #@@@@@@@@#      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                      
                        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@` ;#@:    @@@@@@@@@@@@@@@@@@  @@@@@@@@+      '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                      
                        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@#;  ,@@@@@@@@@@@@@@@@@  '@@@@@@@';#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`                     
                       `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#, @@@@@@@@@@@@@@@@# ##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`                     
                       `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ,@@@@@@@@@@@@@@@@@@; ,@@@@@@@@@@@@@@@@@@@@@@@@@@@.#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`                     
                       :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@, #@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,                     
                       #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`@@@@@@@@@@@@@@@@@@@@@@@@';  ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ .#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,                     
                       #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`@@ @@@@@@@@@@@@@@@@@@@  @@@     @@@@@@@@@@@@@@# +@@#@@@@@@@@@@@@@@@@@@@@@@@@@@'  #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,                     
                       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+     @@@@@@@@@@@@@@@@@#   @@     .@@@@@@@@@@@@@: '#:`@@@@@@@@@@@@@@@@@@@@@@@@@@.  #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                     
                       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`         +@@@@@@@                 +@@@@@@@@@@@@`     #@@@@@@@@@@@@@@@@@@@@@@@@@   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'                     
                       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#          `@@@@@@'                  @@@@@@@@@@@#       ..;;''+#+@@+@@@@#@@@@@@@@   #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                     
                       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#           #@@@@@`                  ,@@@@@@@@@@#                        #@@@@@@@   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                     
                       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,           @@@@@@                    #@@@@@@@@@@                        .@@@@@@#   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                     
                      `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@            ,@@@@#                     @@@@@@@@@@                         @@@@@@:   @@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                     
                      `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#             @@@@;                     '@@@@@@@@#                         `@@@@@   .@@# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@'                     
                      .@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@,             @@@@                       @@@@@@@@+                          #@@@@   ;@@; ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                     
                      ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@+#@@@@@@@              '@@@                       `@@@@@@@,                           @@@+   #@@   @@@@@@@@@@@@@@@@@@@@@@@@@@@@,                     
                      ,@@@@@@@@@@@@@@@@@@@@@@@@@@@#.+@@@@@@#              `@@+                        #@@@@@@                            `''    @@@   .@@@@@@@@@@@@@@@@@@@@@@@@@@@.                     
                      +@@@@@@@@@@@@@@@@@@@@@@@@@@@+ ,@@@@@@.               ++                          @@@@@@                                   @@+   `@@@@@@@@@@@@@@@@@@@@@@@@@@@`                     
                      +@@@@@@@@@@@@@@@@@@@@@@@@@@@;  #@@@@@                                            `#@@@@                                  ,@@:   `@@@@@@@@@@@@@@@@@@@@@@@@@@@`                     
                      +@@@@@@@@@@@@@@@@@@@@@@@@@@@# `+@@@@#                                             #@@@+                                  @@@    :@@@@@@@@@@@@@@@@@@@@@@@@@@@                      
                      +@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #+#@@@@                                              #@@,                                  @@@    @@@@@@@@@@@@@@@@@@@@@@@@@@@@                      
                      +@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@#@@@@                                        ;+    `##                                  .@@@,@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@                      
                      +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ,@@@@@.                                       @@`                                        '@@'@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@                      
                      :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ '@@@@;                                       @@`                                        @@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                      
                      :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:  #@#                                       #@`                                       `#@@@@'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                      
                      ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@, @@                                       @@                                        '@@@' #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'                      
                      ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+#@.                                      ,@                                        #@@` #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                      
                      ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                                                @@. '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,                      
                      `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                                               +@@`@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                       
                      `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                                                              @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                       
                      `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                                             '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                       
                       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                                                                            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                       
                       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                                                           .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                       
                       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                                           @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                       
                       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                                                                         `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'                       
                       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                                         @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`                       
                       #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                                                                       `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                        
                       #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`                                                                      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                        
                       #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                                     ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'                        
                       :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'                                                                    #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                        
                       .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                                                                  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`                        
                        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+.                  ##,         ,,`                               :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                         
                        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`                 @@@@;    `@@@@@#       :'`                   `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                         
                        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                 `+@@@@@#@#@@@#@@##  `:@@@`                   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                         
                        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                   ;@@@@@@#`   ;@@@@@@@@;                   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                         
                        ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                  ,#@@@@`       @@@@;                     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`                         
                        .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@               `@@@@#`          ,@@@.                   +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                          
                         @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@             ,@@@@,              @@@+                 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                          
                         @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`          ;@@@;                 '@@@               +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                          
                         '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.        +@@@                     @@#.            ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                           
                         .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:      '@@#                       @@#'          ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                           
                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:    .@@@                         '@@#        +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                            
                          @@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'   @@@,                          ,@@@      #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                            
                          ,@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# ,@@@                            `@@@`   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'                            
                           @@@@@@@@@@@ .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`             +@               @@@,.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@#                             
                           #@@@@@@@@@@  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:@@@@#              @@'               #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@+                             
                           `@@@@@@@@@@   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.,@@@              #@@@                +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@                              
                            @@@@@@@@@#   .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.,@@+              @@@@                 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#. @@@@@@@@@@                              
                            `@@@@@@@@+    #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,'@@              ,@@@@`                 ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#  @@@@@@@@@`                              
                             :@@@@@@@;     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@;              @@@@@;                  .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@   @@@@@@@@#                               
                              +@@@@@@,     `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@               @@@@@@                   `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:   #@@@@@@@                                
                               @@@@@@.      ,@@@@@@@@@@@@@@@@@@@@@@@@@'#@@@@@@@@@+              .@@@@@@                    `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+    #@@@@@@'                                
                                #@@@@.       '@@@@@@@@@@#@@@@@@@@@@@@+  #@@@@@@@@               ;@@@@@@`                    `@@@@@#@@@@@@@@@@@@@+@@@@@@@@@@     @@@@@@+                                 
                                 '@@@`        +@@@@@@@@@,@@@@@@@@@@@@    @@@@@@@+               @@@@@@@'                     `@@@+ @@@@@@@@@@@@@ @@@@@@@@@      @@@@@@                                  
                                  `##          '@@@@@@@@:`@@@@@@@@@@      @@@@@@                @@@@@@@#                      `@@@`@@@@@@@@@@@@ `@@@@@@@#.      @@@@@`                                  
                                                .@@@@@@@: '@@@@@@@@,       @@@@@                @@@@@@@@                        @@@+@@@@@@@@@@  .@@@@@@@`       @@@@+                                   
                                                  @@@@@@,  #@@@@@@#       @@@@@;               `@@@@@@@@                         @@@@@@@@@@@@   :@@@@@@         `'#@                                    
                                                   @@@@@    @@@@@@      @@@@@@@                `@@@@@@@@                          @@@@@@@@@#    '@@@@@`                                                 
                                                    ;@@+     @@@@#    ;@@@@@@@@                ,@@@@@@@@.                         `@@@@@@@#    .#@@@@@                                                  
                                                              '+,  `+@@@@@@@@@,                '@@@@@@@@:                          `@@@@@;   :@@@@@@@@#                                                 
                                       `..`                      `#@@@@@@@@@@@                 #@@@@@@@@+                           :@@@.  `@@@@@@@@@@@                                                 
                                  .'@@@@@@@@@:                 +@@@@@@@@@@@@@@                 @@@@@@@@@#                            `@@@.;@@@@@@@@@@@@,                                                
                                 @@@@@@@##@@@@@@;             @@@@@@@@@@@@@@@'                 @@@@@@@@@@                             .@@@@@@@@@@@@@@@@'                                                
                               .@@@+`      .#@@@@@#          #@@@@@@@@@@@@@@@`                 @@@@@@@@@@                              ;@@@@@@@@@@@@@@@@                                                
                               @@@             +@@@@#        @@@@@@@@@@@@@@@@                  @@@@@@@@@@                             #@@@@@@@@@@@@@@@@@                                                
                             `@@@                ;@@@@   ``@@@@@@@@@@@@@@@@@+                  @@@@@@@@@@                            @@@@@@@@@@@@@@@@@@@.                                               
                            .@@#                   +@@@,@@@@@@@@@@@@@@@@@@@@.                 `@@@@@@@@@@                           @@@@@@@@@@@@@@@@@@@@#                                               
                           .@@#                     +@@@@@@`.@@@@@@@@@@@@@@@                  `@@@@@@@@@@                         `@@@@@@@@@@@@@@@@@@@@@@                                               
                          `@@#                       ###;   +@@@@@@@@@@@@@@#                  ,@@@@@@@@@@                         @@@@@@@@@@@@@@@@@@@@@@@                                               
                          @@#                               @@@@@@@@@@@@@@@:                  ,@@@@@@@@@@`                       @@@@@@@@@@@@@@@@@@@@@@@@                                               
                         ;@@                                @@@@@@@@@@@@@@@                   +@@@@@@@@@@,                      @@@@@@@@@@@@@@@@@@@@@@@@@              `````                            
                        '++                                ,@@@@@@@@@@@@@@+                   +@@@@@@@@@@,                     @@@@@@@@@@@@@@@@@@@@@@@@@@:         `@@@@@@@@@'                          
                       .@+                                 @@@@@@@@@@@@@@@                    +@@@@@@@@@@,                    @@@@@@@@@@@@@@@@@@@@@@@@@@@@.     `:+@@@#',`.#@@@.                        
                       @@`                                 @@@@@@@@@@@@@@@                    @@@@@@@@@@@,                   +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;@@@@@@'        +@#@`                      
                      `@#                                 ,@@@@@@@@@@@@@@+                    @@@@@@@@@@@`                  :@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@+.           :@@@                      
                     .;                                   @@@@@@@@@@@@@@@                     @@@@@@@@@@@                  `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ `;#@+               ,@@@                     
                     @@                                   @@@@@@@@@@@@@@@                     @@@@@@@@@@@                  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                       #@'                    
                    +@#                                  :@@@@@@@@@@@@@@@                     @@@@@@@@@@@                 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                        ,.                    
                    @@                                   @@@@@@@@@@@@@@@#                     @@@@@@@@@@@                #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                          .                   
                   ;@;                                  `@@@@@@@@@@@@@@@.                    .@@@@@@@@@@@               ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                              
                  `@#                                   +@@@@@@@@@@@@@@@                     @@@@@@@@@@@@              `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                          :;                 
                  @@                                    @@@@@@@@@@@@@@@@                    `@@@@@@@@@@@+              @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                          #@#                
                 :@@                      .`           .@@@@@@@@@@@@@@@+                    #@@@@@@@@@@@:             #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                         .@@:               
                 @@`                      @@:          #@@@@@@@@@@@@@@@.                    @@@@@@@@@@@@              @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                          @@@               
                ,@@                       ;@@#         @@@@@@@@@@@@@@@@                    ,@@@@@@@@@@@@             @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`                         ;@@.              
                @@`                        .@@#        @@@@@@@@@@@@@@@@                    @@@@@@@@@@@@@            `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                          @@#              
                @@                           @@@      ,@@@@@@@@@@@@@@@;                    @@@@@@@@@@@@#            +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                          .@@.             
               ;@;                            @@      @@@@@@@@@@@@@@@@                    ;@@@@@@@@@@@@:            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                          @@#             
               @@;`                             @@`   @@@@@@@@@@@@@@@@                    @@@@@@@@@@@@@            `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                          .@@             
              ,@@@#                             ;@@`  @@@@@@@@@@@@@@@@                    @@@@@@@@@@@@@            :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                          #@`            
              @@@@@                              :@@`.@@@@@@@@@@@@@@@'                   ;@@@@@@@@@@@@@+           @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                          #@+            
              @@@@@#                              ;@@:@@@@@@@@@@@@@@@`                   @@@@@@@@@@@@@@@           @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`                         ;@@            
           .:@@@@@@@                               +@@@@@@@@@@@@@@@@@                    @@@@@@@@@@@@@@@.          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                         `@@            
         ,@@@@@@@@@@+                               @@@@@@@@@@@@@@@@@                   ,@@@@@@@@@@@@@@@@          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                          @@:           
        @@@@@#@@@@@@@                                @@@@@@@@@@@@@@@#                   #@@@@@@@@@@@@@@@@         .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                         +@+           
       @@@@`  @@@@@@@+                               #@@@@@@@@@@@@@@.                   @@@@@@@@@@@@@@@@@'        ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                          ##           
      @@@#   .@@@@@@@@                               `@@@@@@@@@@@@@@                    @@@@@@@@@@@@@@@@@@        '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                         #@           
     @@@#    ,@@@@@@@@@                               @@@@@@@@@@@@@@                   .@@@@@@@@@@@@@@@@@@,       #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                         +@,          
    @@@#     `@@@@@@@@@@                              ,@@@@@@@@@@@@@             ,@@@@:'@@@@@@@@@@@@@@@@@@@       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`                        `@+          
   +@@#         +@@@@@@@@                              @@@@@@@@@@@@#             :@@@@@@@@@@@@@@@@@@@@@@@@@`      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+  .`                     @@          
  .@@#             +@@@@@@,                            +@@@@@@@@@@@#             `@@@@@@@@@@@@@@@@@@@@@@@@@@      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  #@,                    @#          
  @@@                 #@@@@#                           `@@@@@@@@@@@:              @@@@@@@@@@@@@@@@@@@@@@@@@@`     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@` +@@#                   @@,         
 @@@                    `#@@'                           @@@@@@@@@@@               `@@@@@@@@@@@@@@@@@@@@@@@@@#     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+  ,+@@`                 ;@'         
@@@.                       .`                           +@@@@@@@@@@                #@@@@@@@@@@@@@@@@@@@@@@@@@     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@   .@@@;                .@@         
@@+                                                     .@@@@@@@@@#                 @@@@@@@@@@@@@@@@@@@@@@@@@@    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    `@@#+                @@         
@@                                                       @@@@@@@@@:                 ,@@@@@@@@@@@@@@@@@@@@@@@@@`   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`     @@@@               #@.        
                                                         #@@@@@@@@                   @@@@@@@@@@@@@@@@@@@@@@@@@@  `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`      ;@@@              +@+        
                                                         .@@@@@@@                    .@@@@@@@@@@@@@@@@@@@@@@@@@: .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@        :@@@.            '@#        
                                      ,@                  @@@@@@:                    ;@@@@@@@@@@@@@@@@@@@@@@@@@@ .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#         .@@#:           .@@        
                                      `'`                 @@@@@#                     @@@@@@@@@@@@@@@@@@@@@@@@@@@+;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.           @@#+           @@        
                                                          :@@@@+                     @@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@             @@@@          @@        
                                                           @@@@                      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@               +@@@         #@`       
                                                           @@@:                      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                 .@@@        @@+       
                                                           ;@@                      .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                  .#@@`      @@@       
                                  :@@@@@@@+.               @@:                      ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                      @@@,     @@@#      
                                 @@@@@@@@@@@@@'`          ,@@                       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                        '#@:    .#@@;     
                               :@@@@@@@@@@@@@@@@@+       `@@:                       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                          +##,     @@#,    
                              @@@@@@@@@@@@@@@@@@@@      `@@@                        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                            +@#      .#@;   
                            `@@@@@@@@@@@@@@@@@@@@+     .@@@+                       .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+`                             +@       ,@@`  
                           '@@@@@@@@@@@@@@@@@@@@;     +@@@@                        '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                        #@@  
                          #@@@@@@@@@@@@@@@@@@@@.    ,@@@@@@                        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                          #@# 
                        .@@@@@@@@@@@@@@@@@@@@@    :@@@@@@@;                        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                            @@:
                       ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                        `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                                             `@@
                      @@@@@@@@@@@@@@@@@@@@@;######@@@@@@@@                        ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                                              #@
                    .@@@@@@@@@@@@@@@@@@@@+            `@@;                        #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                               '@
                   #@@@@@@@@@@@@@@@@@@@@:             +@@                         @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,@                                                @
                 `@@@@@@@@@@@@@@@@@@@@@'              @@#                         @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@' ;@                                                `
                +@@@@@@@@@@@@@@@@@@@@@#              .@@,                        `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;  +@                                                 
               @@@@@@@@@@@@@@@@@@@@@@@               #@@                         '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.   '@                                                 
               @@@@@@@@@@@@@@@@@@@@@@,               @@#                         @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@     +@                                                 
              `@@@@@@@@@@@@@@@@@@@@@#               :@@.                         @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@      #@                                                 
              `@@@@@@@@@@@@@@@@@@@@@                @@@                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;       @@                                                 
              `@@@@@@@@@@@@@@@@@@@@;               ,@@#                         ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.        @@                                                 
               @@@@@@@@@@@@@@@@@@@@                @@@;                         +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#          @#                                                 
               @@@@@@@@@@@@@@@@@@@#               '@@@                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;           @#                                                 
               @@@@@@@@@@@@@@@@@@@`               @@@@                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+             @'                                                 
               @@@@@@@@@@@@@@@@@@@               #@@@+                         `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#               @;                                                 
               @@@@@@@@@@@@@@@@@@:               @@@@`                         ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#`                ;`                                                 
   `           @@@@@@@@@@@@@@@@@@               @@@@@                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                  ,@                                                  
   @@#         @@@@@@@@@@@@@@@@@#              .@@+@#                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                    +@                                                  
   @@@@+       `#@@@@@@@@@@@@@@@               @@@+@,                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                      #@                                                  
   .@@@@@#        #@@@@@@@@@@@@'              ,@@:@@.                         .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+`                        @@      ...                                         
    @@@@@@@@,        `;+++#@#+:               @@@ @@                          ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                           @#    @#@@@@@@'.                                    
    .@@@@@@@@@#.                             .@@``@#                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                             `@+  .@@@@@@@@@@@@@#:`                               
     @@@@@@@@@@@@@@';.`       :',            @@@ `@+                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#`                               ,@. `@@@@@@@@@@@@@@@@@##@#:.`````````````            
      +@@@@@@@@@@@@@@@@@@@@@@@@@@           .@@`  #`                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###;                                   ## `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+       
       :@@@@@@@@@@@@@@@@@@@@@@@@@'          @@#                              .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'                                      #@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
         #@@@@@@@@@@@@@@@@@@@@@@@@         .@@   @@                          #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`                                      @#+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+       
          `@@@@@@@@@@@@@@@@@@@@@@@'        @@+   @@                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                      ,@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#`        
            .@@@@@@@@@@@@@@@@@@@@@@        @@    @@                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                                      #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'          
              .@@@@@@@@@@@@@@@@@@@@#      :@#    ,,                         `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##          .'
                ,@@@@@@@@@@@@@@@@@@@      @@`                               ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#        `,@#@@
                  :@@@@@@@@@@@@@@@@@+     @@                                +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`                                     ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#` .##@@@@#@@@@@@
                    '@@@@@@@@@@@@@@@@     @+                                @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                      #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#` ,@@@@@@@@@@@@@@@
                      #@@@@@@@@@@@@@@#                                      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                                      #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'  .@@@@@@@@@@@@@@@@ 
                        +@@@@@@@@@@@@@`                                    `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                                      #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,  `@@@@@@@@@@@@@@@@@# 
                          #@@@@@@@@@@@@          @@                        .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                     .@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+    +#@@@@@@@@@@@@@@@@@` 
                            #@@@@@@@@@@`         @@                        '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                                     +@@@@@@@@@@@@@@@@@@@@@@@@@@@:   `#@@@@@@@@@@@@@@@@@@@@  
                              #@@@@@@@@@         @@                        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,                                     @@@@@@@@@@@@@@@@@@@@@@@@@@@# `'##@@@@@@@@@@@@@@@@@@@@;;@
                                @@@@@@@@`        @@                        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                                     @@@@@@@@@@@@@@@@@@@@@@@@#####@@@@@@@@@@@@@@@@@@@@@@@@@@ 
                                  @@@@@@@        ;@                        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                                    ,@@@@@@@@@@@@@@@@@@';,  +#@@@@@@@@@@@@@@@@@@@@@@@@@@@@+  
                                   :@@@@@:       ;@                       .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                    @@@@@@@@@@#+:           @@@@@@@@@@@@@@@@@@@@@@@@@@@@@.   
                                     :@@@@       ;@                       '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                                    #@@@##:                 `#@@@@@@@@@@@@@@@@@@@@@@@@#.     
                                       '@@:      .@                       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                                   @@#,'#@@@#@@'             #@@@@@@@@@@@@@@@@@@@@@#`       
                                        #@@`      .                       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                  '@@@@@@@@@@@+.              :@@@@@@@@@@@@@@@@@@#`         
                                         @@@      `                       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                                  @@@@@@@@@@#,                  #@@@@@@@@@@@@@#.            
                                         @@@.     @,                      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                  @@@@@@@@#,                    ;@@@@@@@@@@#.               
                                         @@@@     @,                     .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                .@@@@@@#:                      .@@@@@@@@:                  
                                         @@@@`                           ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                                '@@@@@#                        .@@@@@+                     
                                         .@@@@,                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                                #@@@@:                         @@@@'                       
                                          @@@@@                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                               @@@@`                        `@@@;                         
                                          @@#@@#                         @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                              @@@`                         .@@                           
                                          @@ @@@`                        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                            `@#.                          .@                            
                                          @@ '@@#                       `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                           .@#                           .@                            
                                          :@  @@@                       `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                          `'                            ;@                            
                                          .@  '@@;                      ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                       @@                            
                                           @,  @@@                      :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                        +                             @#                            
                                           ;.  `@@@                     #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'                       +                             @:                            
                                                @@@.                    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                     ::                             @`                            
                                                ,@@@                    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                    @#                             @                             
                                                 @@@#                   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                   #'                            ,@                             
                                                 `@@@`                  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##                  @,                       +:   ##                             
                                            `     #@@@                 `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                `#                       @@'   ##                             
                                           ;@      @@@.                ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:               #@                      #@@,   #;