second solution to P0406