Add solution to problem #47