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