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