def c(first, *other):
    d = set([n for n in range(1, first+1) if first%n==0])
    for x in other:
        k = set([n for n in range(1, x+1) if x%n==0])
        z = k&d
    return max(z)