square-free factorization