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