P03 solution.
P04 solution.