n = int(input())
count = list(map(int, input().strip().split()))
mx = 0
def gcd(a,b):
    x = min(a,b)
    y = max(a,b)
    if y%x == 0:
        return x
    else:
        return gcd(x,y%x)
for sword in count:
    mx = max(mx,sword)
r = -1
for sword in count:
    if sword - mx == 0:
        continue
    elif r == -1:
        r = mx - sword
    else:
        r = gcd(r,mx - sword)
theives = 0
for sword in count:
    theives += (mx - sword)/r
print(int(theives),r)