Polynomial-time many-one reduction