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