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