__  __   __  __   ______   ______     _____   ______   ___     ______   ______   __  ___   ______   _   __   ______
   / / / /  / / / /  / ____/  / ____/    / ___/  /_  __/  /   |   /_  __/  / ____/  /  |/  /  / ____/  / | / /  /_  __/
  / /_/ /  / / / /  / / __   / __/       \__ \    / /    / /| |    / /    / __/    / /|_/ /  / __/    /  |/ /    / /   
 / __  /  / /_/ /  / /_/ /  / /___      ___/ /   / /    / ___ |   / /    / /___   / /  / /  / /___   / /|  /    / /    
/_/ /_/   \____/   \____/  /_____/     /____/   /_/    /_/  |_|  /_/    /_____/  /_/  /_/  /_____/  /_/ |_/    /_/     
                                                                                                                          
            


                                                                                                                                                                                     ......................................                                                                                                                                                                                     
                                                                                                                                                                       ...............                                    ...............                                                                                                                                                                       
                                                                                                                                                              ...........                                                              ...........                                                                                                                                                              
                                                                                                                                                     ..........                                                                                  ..........                                                                                                                                                     
                                                                                                                                              ..........                                                                                                 ........                                                                                                                                               
                                                                                                                                         ........                                                                                                              .........                                                                                                                                        
                                                                                                                                   ........                                                                                                                          ........                                                                                                                                   
                                                                                                                              ........                                                                                                                                    ........                                                                                                                              
                                                                                                                          .......                                                                                                                                              .......                                                                                                                          
                                                                                                                      .......                                                                                                                                                       .......                                                                                                                     
                                                                                                                  .......                                                                                                                                                               .......                                                                                                                 
                                                                                                              .......                                                                                                                                                                       .......                                                                                                             
                                                                                                          .......                                                                                                                                                                              .......                                                                                                          
                                                                                                       .......                                                                                                                                                                                     .....                                                                                                        
                                                                                                    ......                                                                                                                                                                                            ......                                                                                                    
                                                                                                 ......                                                                                                                                                                                                  ......                                                                                                 
                                                                                              ......                                                                                                                                                                                                        ......                                                                                              
                                                                                            .....                                                                                                                                                                                                              ......                                                                                           
                                                                                        ......                                                                                                                                                                                                                    ......                                                                                        
                                                                                      .....                                                                                                                                                                                                                          .....                                                                                      
                                                                                   ......                                                                                                                                                                                                                               .....                                                                                   
                                                                                 .....                                                                                                                                                                                                                                    .....                                                                                 
                                                                               .....                                                                                                                                                                                                                                         .....                                                                              
                                                                            ......                                                                                                                                                                                                                                             ......                                                                           
                                                                          .....                                                                                                                                                                                                                                                  .....                                                                          
                                                                        .....                                                                                                                                                                                                                                                       ....                                                                        
                                                                     ......                                                                                                                                                                                                                                                          ......                                                                     
                                                                   ......                                                                                                                                                                                                                                                               .....                                                                   
                                                                 ......                                                                                                                                                                                                                                                                   ......                                                                
                                                               ......                                                                                                                                                                                                                                                                       .....                                                               
                                                             ......                                                                                                                                                                                                                                                                           .....                                                             
                                                            .....                                                                                                                                                                                                                                                                               :....                                                           
                                                          .....                                                                                                                                                                                                                                                                                  ......                                                         
                                                        .....                                                                                                                                                                                                                                                                                      .....                                                        
                                                      ......                                                                                                                                                                                                                                                                                         .....                                                      
                                                     ...:.                                                                                                                                                                                                                                                                                            ......                                                    
                                                   .....                                                                                                                                                                                                                                                                                                .....                                                   
                                                  .....                                                                                                                                                             ..:::..                                                                                                                               ....                                                  
                                                 ....                                                                                                                                                         .-+#%%%%%%%%%%%#*=.                                                                                                                          .....                                                
                                               .....                                                                                                                                                        +#%%%%%%%%%%%%%%%%%%%%+                                                                                                                          ....                                               
                                             .....                                                                                                                                                       :*%%%%%%%%%%%%%%%%%%%%%%%%%*.                                                                                                                        .....                                             
                                            .....                                                                                                                                                      .*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%+                                                                                                                         .....                                           
                                          .....                                                                                                                                                       =#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*                                                                                                                           .....                                          
                                        ......                                                                                                                          ..........                  .*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%#:          ..                                                                                                                  ....                                         
                                        ....                                                                                                                 .-=+***************##**#****+==-:  .:=*##%%%%%%%%%%%%%%%%%%%%%%%%%%%%+      =*#%%%%%%#*=                         :--:....                                                                              ....                                        
                                      .....                                                                                                            .-+**********##**********####################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=    -#%%%%%%%%%%%%%#=            .:=*#%%%%%%%%%%%%%%%%%%#*-.                                                                       .....                                      
                                     ...:.                                                                                                        .-+#####*##******#####********####################%%%%%%%%%%%%%%%%%%%%%%%%%%%%*   :#%%%%%%%%%%%%%%%%%#=.     :=*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+:                                                                    .....                                    
                                    .....                                                                                                      -*###########**#***#######*##########################%%%%%%%%%%%%%%%%%%%%%%%%%%%%:  =%%%%%%%%%%%%%%%%%%%%%%%###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*:                                                                 ....                                    
                                  .....                                                                                                    .=#######################################################%%%%%%%%%%%%%%%%%%%%%%%%%%%*  =%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=.                                                              .....                                  
                                 .....                                                                                                  :+########################################################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%: .#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+.                                                            .:...                                 
                                 ....                                                                                                .*#%%######################################################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*.                                                           ....                                
                               .....                                                                                              .+#%%%%%%#######################################################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%. =%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*:                                                          ....                               
                              ...:.                                                                                             =#%%%%%%%%%%%%###################################################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%: -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+                                                         .....                             
                             .....                                                                                           .+%%%%%%%%%%%%%%%##################################################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%* .#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%=                                                        ....                             
                            ....                                                                                           .*%%%%%%%%%%%%%%%%%%%%%##############################################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%: =%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*:                                                      .....                           
                           ....                                                                                          :#%%%%%%%%%%%%%%%%%%%%%%%%##########################################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*. =%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%@@@@@%%%%%#:                                                     ....                           
                          ...:                                                                                         :#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##################################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#:  +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%@%@@@%%@@@@@@@@@%%%%=.                                                   .....                         
                         ....                                                                                        .*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%########################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#.   *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%@@@@@@@@@@@@@@@%%%+.                                                  .....                        
                        .....                                                                                      .#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###%%################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#    -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%@@@@@%@@@@@@@@@@@@@@@%%%#-                                                 .....                       
                        ..:.                                                                                      +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%######%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*.   -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%@@@@@@@@@@@@@@@@@@@%%%+.                                               ....                       
                      .....                                                                                     =%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#:   =%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%@@@@@@@@@@@@@@@@@@@@%%%%%#+:                                             :...                      
                     .....                                                                                    -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-   +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@%%@@@@@@@@@@@@@@@@@@@%%%%%@%@@%%%%%#-..                                        .....                    
                    .....                                                                                   .*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-   *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%@@@@@@@@@%%%%@@@@@@@@@@@%%%%%%%%%%%%%%@%%%%%%%%%#=                     .....                    
                   ....:                                                                                   +%@@@@%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*   +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%@@@@@@@@%%%%%%%@@@@@@@@@@@%%%@@@@@@@@%@@@@@@@@@@@@@@@@+                     .:...                   
                  ....:                                                                                  -%%@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#-  =%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:                     .....                  
                  .....                                                                                 *%@@@@@@@@@@@@@%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*  :%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%@%%%%%%@@@@@@@@@@@@%%%@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                      .:...                 
                 ...:.                                                                                :%@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.  #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%@%@@%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%                      :....                
                 ....                                                                               .*%@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*  +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%@@%%@%%%%%%%@@@@@@%@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                     .....                
               ....:                                                                               =%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%: .#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:                     .:...               
               ...:.                                                                             .#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#  -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#.                     :....              
              ...:.                                                                            .+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+  =%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                      :....             
             ....:                                                                            -%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=  *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@%:                     .:...             
             ...:.                                                                          :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%- .#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%@@@@@@@@@@@@@@@@@@%%%%%%%%%%%@@@@@@@#                      :....            
            ...:.                                                                         .#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%- -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%%%#+=-::..:=#%%%%@@@@@@@@+                     .:...            
           ....:                                                                        .#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%= *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*-.            .#%%@@@@@@@@@%.                     .:...           
           ...:.                                                                      .*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%* =%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*=:                  .#%%@@@@@@@@@*                       :...           
          ...:.                                                                       .:-*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+ :%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+:.                       =%%@@@@@@@@#.                       .:...          
          ...:.                                                                              .+#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%* .#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#-                            :%%@@@@@@@@:                         :....         
         ....:                                                                                    .-=*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#  =%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=:. =%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=.                             .*%@@@@@@@%-                          .....         
         ...:.                                                                                          .-*%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#-     :#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+:                                +@@@@@@@@%-                            :...         
        ....:                                                                                                .=*%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@%%%@@@%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=  *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=.      =%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*:                                   .#@@@@@@@@-                             .:...        
        ...:.                                           ..:::----===---:::..                                      :=*%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@%@@@%@@@@@%%%%%%%%%%%%%%%%%%%#  +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*:       =#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*-                                      *@@@@@@@@-                               :...        
        ...:                                    .:+#%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%*=:.                               :*%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%#. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*.       =#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=                                        #@@@@@@@%-                                .....       
       ...:.                               :+#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*=-:.                         .=#%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@%%%%%%%%%%%%*  *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=       .+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*-                                        .*@@@@@@@#.                                 .:...       
      ....:.                              +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*+-.                      .-*%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@%@%%%%%%%%%%%#. :%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*-       .+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+.                                          +%@@@@@%=                                    .:...      
      ...::                               *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#=:                     -#%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%=  +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*:       .*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#-                                            *%@@@@@%-                                     .:...      
      ...:.                              :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#+-:                 .=*%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%#. :#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=.       :*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=.                                            :#%%@@@@#.                                       :...      
      ...:                               +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*-.               .=#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@%%%+  +%%%%%%%%%%%%%%%%%%%%%%%%%%%##-        :*#%%%%%%%%%%%%%%%%%%%%%%%%%%%*:                                               =%%%@@%#-                                         :....     
     ...::                               +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*=:              .+#%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%-  #%%%%%%%%%%%%%%%%%%%%%%%%#+.        .*#%%%%%%%%%%%%%%%%%%%%%%%%%%*=                                                 +%%@%%%*                                           .:...     
     ...:.                               *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+:             -*%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%#. .#%%%%%%%%%%%%%%%%%%%%%#=.        .+#%%%%%%%%%%%%%%%%%%%%%%%%%#=.                                                 -#%%%%%%=                                             :....    
    ....:                                #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#=.           .=#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%+  :%%%%%%%%%%%%%%%%%%%#=          -#%%%%%%%%%%%%%%%%%%%%%%%%%#-                                                  .#%%%%%%*.                                              .....    
    ....:                               .#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+:.          -*%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%-  =%%%%%%%%%%%%%%%#*-          :*#%%%%%%%%%%%%%%%%%%%%%%%%*:                                                   =%%%%%%*.                                                .:...    
    ...:.                               .%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*=.         .+%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%-  *%%%%%%%%%%%%##-          :*#%%%%%%%%%%%%%%%%%%%%%%%%*:                                                   :#%%%%%%:                                                  .:...    
    ...:.                               -%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%-.         =#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%#:  #%%%%%%%%%##-           +#%%%%%%%%%%%%%%%%%%%%%%%%#-                                                   :#%%%%%%*.                                                    ....    
    ..::                                *%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*=.        -*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%*. :#%%%%%%##+.          -#%%%%%%%%%%%%%%%%%%%%%%%%%+   -#%#-                                           .*%%%%%%+                                                       ....    
    ..:.                                #%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*:        :*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%+  =%%%%%##.          .*#%%%%%%%%%%%%%%%%%%%%%%%%%= .+%%%%%%-                                         +%%%%%%*.                                                        .:..    
   ...:.                                *%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#=.       =#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%-  *%%##*.          +#%%%%%%%%%%%%%%%%%%%%%%%%#+.:*%%%%%%%%%.                                     .+%%%%%%#=                                                          .:...   
   ...:.                                *%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*=.     :#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%#. -###+          :*%%%%%%%%%%%%%%%%%%%%%%%%#- .*%%%%%%%%%%%=                                    +%%%%%%*:                                                            .:....  
   ...:.                                #%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*-.  *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%* .##+          +%%%%%%%%%%%%%%%%%%%%%%%%#:  +%%%%%%%%%%%%%%                                  +%%%%%%*.                                                               ::...  
  ....:.                               .#%%@@@@@@@@@@@@@@@@@@@@%%#*****###%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%%%%%%%%%%%%%%%%%%%%%%%= *=         :#%%%%%%%%%%%%%%%%%%%%%%%#:  =%%%%%%%%%%%%%%%%                               :*%%%%%%#=                                                                 ::...  
  ....:.                                +%%@@@@@@@@@@@@@@@@@*:.                ..::-+##%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%#.          =%%%%%%%%%%%%%%%%%%%%%%%#-  -#%%%%%%%%%%%%%%%%#                             :*%%%%%%+.                                                                   ::...  
  ....:                                 +%%@@@@@@@@@@@@@@@#.                               .-+#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=        .*%%%%%%%%%%%%%%%%%%%%%%%+  .#%%%%%%%%%%%%%%%%%%-                           -#%%%%%%=                                                                      ::...  
  ....:                                 *#%%%@@@@@@@@@@@@%-                                       :=+#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#       :#%%%%%%%%%%%%%%%%%%%%%%*. .+%%%%%%%%%%%%%%%%%%%#                         .=%%%%%%*-.                                                                       ::...  
  ....:                                 .+#%%%%@@@@@@@@@@@=                                   .#%#+:.   .-*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%:     =%%%%%%%%%%%%%%%%%%%%%%#:  -%%%%%%%%%%%%%%%%%%%%%-                       :*%%%%%#=.                                                                          .:...  
  ....:                                   -*#%%%@@@@@@@@@@%:                                  :@@@@@@@@#+-.   :+#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*    =%%%%%%%%%%%%%%%%%%%%%%+  :#%%%%%%%%%%%%%%%%%%%%%=                      =#%%%%%*=                                                                             .:...  
  ....:                                    :*%%%@@@@@@@@@@@%:                                 -@@@@@@@@@@@@@%#+-.  :-*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+   +%%%%%%%%%%%%%%%%%%%%%#:  +%%%%%%%%%%%%%%%%%%%%%#:                    :*%%%%%#=.                                                                               .:...  
  ....:                                     .*%%%%@@@@@@@@@@%.                                -@@@@@@@@@@@@@@@@@@@%+:    -*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+   *%%%%%%%%%%%%%%%%%%%%%=  :#%%%%%%%%%%%%%%%%%%%%%+                   .*%%%%%%#*                                                                                  .:...  
  ....:                                       =#%%%%@@@@@@@@@#.                               -@@@@@@@@@@@@@@@@@@@@@@@@#=:   :=*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%@%@@@@@@@@@@@@@%%%%%*   +%%%%%%%%%%%%%%%%%%%%%=  =%%%%%%%%%%%%%%%%%%%%%*:                 .=#%%%%%#=.                                                                                    .:...  
  ....:                                        .*%%%@@@@@@@@@@%.                              :%@@@@@@@@@@@@@@@@@@@@@@@@@@@%*-.  .:+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@%%%%%#:  =%%%%%%%%%%%%%%%%%%%%%-  =%%%%%%%%%%%%%%%%%%%#=.                .=#%%%%%#*-                                                                                       .:...  
  ....:                                         .*%%@@@@@@@@@@@@=                              *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#-.   .=#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%=  -%%%%%%%%%%%%%%%%%%%%#:     .+#%%%%%%%%%%%#*-                 .=#%%%%%%*:                                                                                          .:...  
  ....:                                           =%%%%@@@@@@@@@%=                             =@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#=.   .-*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%#  .%%@%@@@@@%%%@%@@%%%%#:           ..:::..                   :+#%%%%%#*=.                                                                                            .:...  
  ....:                                            .+%%@@@@@@@@@@@#.                            #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#=.    :*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%:  *%%@@@@@@@@@@@%%%%%%%:                                  .=#%%%%%%%*-                                                                                                ::...  
  ....:                                              :%@@@@@@@@@@@@%-                           .%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#-     :*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%  -%%@@@@@@@@@@@@@%%%%%-                               .-*%%%%%%%#+:                                                                                                   ::...  
  ....:.                                              .*%@@@@@@@@@@@@*                           :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+:    .-*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%# .#%@@@@@@@@@@@@@%%%%%+                            .-*%%%%%%%%#+:                                                                                                      ::...  
  ....:.                                                :#%@@@@@@@@@@@%=                          -%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#-     .=#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+ =%@@@@@@@@@%%%%%%%%%%-                        :+#%%%%%%%%%#+.                                                                                                         ::...  
  ....:.                                                  -%@@@@@@@@@@@@%-                         :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%=      :*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@= *@@@@@@@%%%%%%%%%%%%%-                  :-+#%%%%%%%%%%#*=.                                                                                                            ::...  
  ....::                                                   .*@@@@@@@@@@@@@#:                        .*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#.         .=#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+ #@@@@@%@%%%%%%%%%%%%%#-.        .:-=*##%%%%%%%%%%%#+:.                                                                                                               .::...  
  ....::                                                     :#@@@@@@@@@@@@@%-                        :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=               :*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# *@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+.                                                                                                                    .::...  
   ...::                                                       :#@@@@@@@@@@@@@#:                        =%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*.                   .+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##+-.                                                                                                                        .::...  
   ...::.                                                        -%@@@@@@@@@@@@@#-                        -#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+.                        .=%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=:.                                                                                                                             .:....  
   ...::.                                                          -#@@@@@@@@@@@@@%:                        .+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%-                               =%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%- *%%%%%%%%%%%%%%%%%%%%%%%%%%#+-.                                                                                                                                   ::...   
    ..::.                                                            -%@@@@@@@@@@@@@#-                         .=#%@@@@@@@@@@@@@@@@@@@@@@@%*-                                     -#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%*. :+*#%%%%%%%%%%%%%##+=-.                                                                                                                                        .::..    
    ...::                                                              -%@@@@@@@@@@@@@%+                            :=#%@@@@@@@@@@@@@%*=.                                            -#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%#-                                                                                                                                                              .::..    
    ...::                                                                :#%@@@@@@@@@@@@%+.                                  ..                                                         =#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%%%%%%%%%%%%%*-:.                                                                                                                                                        ::...    
    ...::.                                                                 :#@@@@@@@@@@@@@@#-                                                                                             .=%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%####+                                                                                                                                                ::...    
    ....::                                                                    +%@@@@@@@@@@@@@%-                                                                                              .*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%                                                                                                                                               .::...    
    ....::                                                                      =%@@@@@@@@@@@@@%+.                                                                                              -#@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@%%%%%%%%%%%%%%%%%%%%                                                                                                                                               ::....    
     ...::.                                                                       -%@@@@@@@@@@@@@@#:                                                                                              .+%@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@%%%%%%%%%%%%%%%%%%%@:                                                                                                                                              ::....    
      ..:::                                                                         .+%@@@@@@@@@@@@@@+.                                                                                              .#%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%@@#                                                                                                                                             .::...     
      ...::.                                                                           -#%@@@@@@@@@@@@@#-                                                                                              .=%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%@@@@@@@%.                                                                                                                                            ::....     
      ...::.                                                                              =%@@@@@@@@@@@@@%#:                                                                                              .#@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@+                                                                                                                                           .::...      
      ....::                                                                                :*%@@@@@@@@@@@@@%+.                                                                                             .+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:                                                                                                                                          .::...      
      ....::.                                                                                  :+%@@@@@@@@@@@@@%+.                                                                                             -#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                                                                                                                                          :::...      
       ...:::                                                                                     :*%@@@@@@@@@@@@@%+.                                                                                            :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                                                                                                                                        .::...       
        ...::.                                                                                       .+%@@@@@@@@@@@@@%=.                                                                                           :#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                                                                                                                       ::....       
        ...:::                                                                                          :+%@@@@@@@@@@@@@%+:                                                                                          :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=                                                                                                                                     :::...        
        ....::.                                                                                            .+%@@@@@@@@@@@@@@*:                                                                                         =%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                                                                                                                                    :::...        
         ....::                                                                                               .=#@@@@@@@@@@@@@@#=.                                                                                       =%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                                                                                                                                  .::...         
          ...::.                                                                                                 .=#@@@@@@@@@@@@@@%*:                                                                                      *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                                                                                                                                  ::....         
          ...:::                                                                                                     -*%@@@@@@@@@@@@@@%+.                                                                                   :#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=                                                                                                                                .::....         
           ...:::                                                                                                       .=#%@@@@@@@@@@@@@@#=.                                                                                 =@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%.                                                                                                                              .::....          
           ....::.                                                                                                          -#%%@@@@@@@@@@@@@@%+.                                                                              .%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                                                                                                                              :::...           
            ...:::                                                                                                             .=#%%@@@@@@@@@@@@@@%+:                                                                           :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-                                                                                                                            .::...            
            ...:::.                                                                                                                .=#%@@@@@@@@@@@@@@@%*=.                                                                       +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#.                                                                                                                          .::....            
             ....::.                                                                                                                   :+%%@@@@@@@@@@@@@@@@%*-                                                                   .%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=                                                                                                                          :::...             
             ....:::                                                                                                                      .-+#%@@@@@@@@@@@@@@@@@#*-.                                                              %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                                                                                                                         .::....             
              ...::::                                                                                                                          :+%@@@@@@@@@@@@@@@@@@@%#+-.                                                       =@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#.                                                                                                                       .:::...              
               ...:::.                                                                                                                             :+#%@@@@@@@@@@@@@@@@@@@@%#+-.                                                =@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#.                                                                                                                       :::...               
                ...:::.                                                                                                                                .-*%%@@@@@@@@@@@@@@@@@@@@@@%#+-:                                      .=%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                                                                                                       :::....               
                 ...:::                                                                                                                                     .-#%@@@@@@@@@@@@@@@@@@@@@@@@@@%*+=.                           -*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=                                                                                                                      :::....                
                 ...::::                                                                                                                                         .=*%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*+-:...      ..:-=*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                                                                                                      .:::...                 
                 ....::::                                                                                                                                             .-+#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                                                                                                      .:::...                  
                  ....::-.                                                                                                                                                  .-*%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=                                                                                                                       :::....                  
                   ....:::.                                                                                                                                                       :-+#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*.                                                                                                                       :::...                    
                    ....::-.                                                                                                                                                            .:=#%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%=.                                                                                                                        :::....                    
                     ...::::.                                                                                                                                                                   :=*#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#-                                                                                                                           ::::....                    
                      ....:::                                                                                                                                                                         .:-+*%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%*+-:                                                                                                                               ::::...                      
                       ...:::-.                                                                                                                                                                                  ..:--=++**#***#**+==--..                                                                                                                                         ::::...                       
                        ....:::.                                                                                                                                                                                                                                                                                                                                                 :-::....                       
                         ...::::.                                                                                                                                                                                                                                                                                                                                               ::::...                         
                          ...::::.                                                                                                                                                                                                                                                                                                                                             ::::....                         
                           ...:::-.                                                                                                                                                                                                                                                                                                                                           ::::...                           
                            ....:::.                                                                                                                                                                                                                                                                                                                                         ::::...                            
                             ....::-.                                                                                                                                                                                                                                                                                                                                       ::::...                             
                              ....::::                                                                                                                                                                                                                                                                                                                                    .-::....                              
                               ....::::                                                                                                                                                                                                                                                                                                                                  .:::....                               
                                 ...::::                                                                 *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                                               ::::....                                
                                 ....:::-.                                                               *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                                              ::::....                                 
                                   ....::::                                                              *@@@@@@@@@@@@%@@@@@@@@@@@%@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                                            .::::...                                   
                                    ....::::                                                             *@@@@@@@@*.%%-#@@@@@@@@@@%%%%@@@@@@%***@@@@@@@@@@@@@@@@@*:@@@@@@@@@@@@@@@@%***@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                                           ::::....                                    
                                      ...::::.                                                           *@@@@@@@@+:%%:#@@@@@@@%*:.--:.---@@%#= @@@@@@@@@@@@@@@@%+ %@@@@@@@@@@@@@@%@#*:%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#-.:--.:-:%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                                          ::::.....                                    
                                       ....::::                                                          *@@@@@@@@+=%#.#@@@@@@%.=%%@@@@%.:@@@@+ @@@%%@@@@@@@@@@@@@%@@@@@@@@@@@@@%%%@@%:@@@@@@@@@@@@@%@@@@@@@@@@%%%@@@@@@@@%:.%@%%@@%=.%@@@@@@@%%%@@@@@@@@@@@@%%%@@@@@@@@@@@@@@%%@@@@@@@@@@@@%%%@@@@@@@@@+                                                        .-:::....                                      
                                        ....::::.                                                        *@@@@@#+=:-+=.==*%@%% +@@@@@@@@%#@@@@+ #-::::=%@@@@@%+::::@@@@@@@@@@%+:::::+#:@@@@@*:::*%*-::-#@@@@+-:::::=%@%@@%=-%@@@@@@@%#@@@@@#=:::::=%@@@@@%%*-::::-*%@@@@+::#-::::=%@@@@@@#=:::::-:#@@@@@+                                                       :::::....                                       
                                         ....:::::                                                       *@@@@@%%%:+%*:#%%@@@+ %@@@@@@@@@@@@@@+ -%%@@%=-%@@@@@@@@%:%@@@@@@@@* *%@@@%*. @@@@@@@%.. +%%@%%@@@@%%@@@@%=:%@@@#.#@@@@@@@@@@@@%@+.#%@@@%# =%@%@#.=%@@@@%-.%@@@@+ :#%@@%=:%@@@@%:+%@@@%#.#@@@@@+                                                     .::::....                                         
                                           ....::-:.                                                     *@@@@@%%%.+%+-%%%@%@+.@@@@%#*****#%%@+ @@@@@@#.#@@@@@@@@%:%@@@@@@@#.%@@@@@@%* @@@@@@@%.+@@@@@@@@@@@%#*****=.%@@@#.#@@@@%*#***#%@%.#@@@@%@@@.+@@%.*@@@@@@@@::%@@@+ %@@@@@@:#@@@@%+.=*##%%@@@@@@@+                                                    :-::.....                                          
                                            ....:::-:                                                    *@@@@%+== -=::==#@@@* %@@@%##**:.#%@@+ @@@@@@#.#%@@@@@@@%:%@@@@@@@*.@@@@@@@@%:@@@@@@@%.*@@@@@@@@@@+.=*####=.%@@@%:*%@@@%*#*=.#%@#:%@@@@@@@@-+%@#.%@@@@@@@@=.%@@@+ %@@@@@@:#@@@@@@@%#**=::#@@@@@+                                                  .:::::...                                            
                                             .....:::-.                                                  *@@@@@@@%.#%-=%@@@@@@::%@@@@%@@-:@@@@+ @@@@@@#.#%@@@@@@@%:%@@@@@%@%:-%@@@@@@= @@@@@@@%.*@@@@@@@@@# %@@@@@@+.%@@@@+ %@@@@@@@+.%@@@.+%@@@@@@#.#@@@-.%@@@@@@%.+@@@@+ %@@@@@@:#@@@@*=%@@%@@@=.%@@@@+                                                 :-::.....                                             
                                               ....:::::                                                 *@@@@@@@#:%@:+@@@@@@@@*:=*####+.-@@%*= *#@@%*+.+*@@@#****.*****%@@@%-.+###+.-.**%@%**+ =****#@@@@@::*##*=...**%@@@#::+####*-:%@@@%-:+###+::%@@@@@+:=*##*-:#@@@@*= *#%@%#*.+%@@@+ -*###*=.*@@@@@+                                               .::::....                                               
                                                 ....:::-:                                               *@@@@@@@*:%% *@@@@@@@@@%%#*++*#%@@@%####%@@%#####@@@%##########%@@@@@%#*+*#%%###%@%#########%@@@@@@#*++*#%%###%@@@@@%#*++*#%%@@@@@@%#*+*#%@@@@@@@@%#*++*%%@@@@@####%@@@####%@@@%%%#*++*#%@@@@@@+                                             .:::::....                                                
                                                  ....::::-.                                             *@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                            :::::....                                                  
                                                    ....:::-:                                            *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                          .-:::....                                                    
                                                     ....:::--:                                          *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                        .--:::....                                                     
                                                       ....:::--:                                                                                                                                                                                                                                                                              .--:::....                                                       
                                                        ....::::--.                                                                                                                                                                                                                                                                           :--:::....                                                        
                                                          ....:::---.                                                                                                                                                                                                                                                                       :--:::....                                                          
                                                           .....:::---.                                                                                                                                                                                                                                                                   :--::::....                                                           
                                                             ......:::--.                                                                                                                                                                                                                                                               :-::::.....                                                             
                                                                .....:::--.                                                                                                                                                                                                                                                           :-::::.....                                                               
                                                                 ......:::--:                                                                                                                                                                                                                                                      .:-::::.....                                                                 
                                                                    ....::::--:                                                                                                                                                                                                                                                  .--::::.....                                                                   
                                                                      .....:::---.                                                                                                                                                                                                                                             :--::::....                                                                      
                                                                        ....::::---:                                                                                                                                                                                                                                        .:--::::....                                                                        
                                                                          .....::::--:                                                                                                                                                                                                                                    .---::::....                                                                          
                                                                            .....::::---.                                                                                                                                                                                                                              .:-:::::......                                                                           
                                                                              .....::::---:.                                                                                                                                                                                                                         :--:::::.....                                                                              
                                                                                ......::::---:                                                                                                                                                                                                                    .---::::.....                                                                                 
                                                                                   ......::::---.                                                                                                                                                                                                              .:--::::......                                                                                   
                                                                                     ......:::::---:                                                                                                                                                                                                        .:---::::.....                                                                                      
                                                                                        ......:::::---.                                                                                                                                                                                                  .:--:::::......                                                                                        
                                                                                            ......:::::--:.                                                                                                                                                                                           .:--:::::......                                                                                           
                                                                                              ......:::::----.                                                                                                                                                                                     :----::::......                                                                                              
                                                                                                  .....::::::---.                                                                                                                                                                              .:---:::::......                                                                                                 
                                                                                                     ......::::::--:.                                                                                                                                                                      .:---:::::.......                                                                                                    
                                                                                                        ......::::::----.                                                                                                                                                               :----:::::......                                                                                                        
                                                                                                            .......::::::--:.                                                                                                                                                      .:---::::::.......                                                                                                           
                                                                                                               .......::::::----:.                                                                                                                                             .:---::::::.......                                                                                                               
                                                                                                                  ........::::::-----.                                                                                                                                    .:-----:::::........                                                                                                                  
                                                                                                                       .......:::::::----::.                                                                                                                        ..:----:::::::........                                                                                                                      
                                                                                                                          .........::::::::-----:                                                                                                              .:----::::::::.........                                                                                                                          
                                                                                                                              ...........:::::::-----::.                                                                                                ..:-----::::::::..........                                                                                                                              
                                                                                                                                     ..........::::::::-----:::.                                                                                ..:::---::::::::::.........                                                                                                                                     
                                                                                                                                         ...........:::::::::::--------:..                                                             ..:--------:::::::::::..........                                                                                                                                         
                                                                                                                                                ...........::::::::::::::--------:::::.....                          ......::::--------:::::::::::::::...........                                                                                                                                               
                                                                                                                                                       ................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...............                                                                                                                                                       
                                                                                                                                                            ...................::::::::::::::::::::::::::::::::::::::::::::::::::...................                                                                                                                                                            
                                                                                                                                                                       ..................................................................