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