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