code: def test_remove():
      raises(ValueError, lambda: remove(1, 1))
      assert remove(0, 3) == (0, 0)
      for f in range(2, 10):
          for y in range(2, 1000):
              for z in [1, 17, 101, 1009]:
                  assert remove(z * f**y, f) == (z, y)
  
file_path: sympy/sympy/external/tests/test_ntheory.py
imports: from itertools import permutations
  from sympy.external.ntheory import bit_scan1, remove, bit_scan0, is_fermat_prp, is_euler_prp, is_strong_prp, gcdext, _lucas_sequence, is_fibonacci_prp, is_lucas_prp, is_selfridge_prp, is_strong_lucas_prp, is_strong_selfridge_prp, is_bpsw_prp, is_strong_bpsw_prp
  from sympy.testing.pytest import raises
label_desc: Use image node_id 3 for calling a global function with example usage: test_remove() without return types