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