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