first solution to P0301