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