P01 solution.