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