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