Solve the programming task below in a Python markdown code block.
Given an array of integers, return the smallest common factors of all integers in the array.

When i say **Smallest Common Factor** i mean the smallest number above 1 that can divide all numbers in the array without a remainder.

If there are no common factors above 1, return 1 (technically 1 is always a common factor).
Also feel free to reuse/extend the following starter code:
```python
def scf(lst):
```