The classic fizz buzz question with some addtional features.