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