Solves problem 20