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