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).
def scf(arr):
    return next((i for i in range(2,min(arr)+1) if all(v%i==0 for v in arr)),1) if arr else 1
def scf(arr):
    return next((i for i in range(2,min(arr)+1) if all(v%i==0 for v in arr)),1) if arr else 1