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