Factoring Polynomials With Higher Degrees