Let `list1` be a list of variables of the form `{c1 a, c2 b, ...}` where $a,b,...\in\mathbb{C}$ and $c1,c2,...\in\mathbb{Z}$. I am looking for a substitution rule to turn all the integers to `1` and just keep the variables in the list.

Example:

```
list1={3 a,4 b,-2 c,9 d};

```

Desired result:

```
list1/.Integers->1

```

> 
> {a,b,c,d}
> 
> 
> 

Please, let me know if there is a function that can do this. Or maybe it can be implemented in a way such that it works fast? Currently I am using the following workaround:

```
temp2 = list1; temp3 = temp2 /.a->1/.b->1/.c->1/.d->1;
Do[
  temp2[[ii]] = temp2[[ii]]/temp3[[ii]];
, {ii, 1, Dimensions[temp2][[1]]}];

```

But it becomes rather slow once the length of `list1` gets large (about 50 000 entries). Is there a way to speed things up?