Classic recursion problem.