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