Weekly Python Exercise B123: Advanced bundle by Reuven M. Lerner