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