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