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