Add solution to problem 28