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