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