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