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