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