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