def dmp_zz_wang_non_divisors(E, cs, ct, K):
 result = [(cs * ct)]
 for q in E:
  q = abs(q)
  for r in reversed(result):
   while (r != 1):
    r = K.gcd(r, q)
    q = (q // r)
   if K.is_one(q):
    return None
  result.append(q)
 return result[1:]

def dmp_zz_wang_non_divisors ( E , cs , ct , K ) : result = [ ( cs * ct ) ] for q in E : q = abs ( q ) for r in reversed ( result ) : while ( r != 1 ) : r = K . gcd ( r , q ) q = ( q // r ) if K . is_one ( q ) : return None result . append ( q ) return result [ 1 : ]
wang/eez: compute a set of valid divisors .