challenge: What type of polynomial does the Cantor–Zassenhaus algorithm take as input?
  
  A. Polynomial with coefficients in an infinite field
  B. Square-free polynomial
  C. Polynomial with repeated factors
  D. Polynomial with non-squarefree factors
  Answer: 