procedure squarefree(i)

   if  dupl_elem(factors(i)) then fail
   else return i

end