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