first solution to P0106