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