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