# Enter your code here. Read input from STDIN. Print output to STDOUT
n = int(input())
sticks = [int(x) for x in input().split()]


from math import sqrt,ceil
from collections import defaultdict

def sieve(N):
    """Dumb sieve of Eratosthemes, O(N*log(log(N)))"""
    b = [True]*(N+1)
    b[0] = False
    b[1] = False

    lim = ceil(sqrt(N))
    i = 2
    while i <= lim:
        if b[i]:
            for n in range(i**2,N+1,i):
                b[n] = False
        i+=1
    
    return {i for i,b in enumerate(b) if b}

def divisors(F):
    """Given factors, generate divisors. Consider memoization."""
    D = {1}
    for f in F:
        D |= {f*d for d in D}
    return D

def factor(n,P):
    """Given prime list, factorize n"""
    if n in P: return [n]
    f = []
    for p in P:
        while n%p == 0:
            n//=p
            f.append(p)
        if n in P:
            f.append(n)
            return f
    if n != 1:
        f.append(n)
    return f

def totient(n,P):
    """Euler totient function"""
    result = n
    for p in set(factor(n,P)):
        result -= result//p
    return result

def miller_rabin(n):
    """Miller-Rabin primality test, O(fast)"""
    if n < 2:  return False
    if n == 2: return True
    if n == 3: return True
    if n&1 == 0: return False

    #witness = [2, 325, 9375, 28178, 450775, 9780504, 1795265022]
    witness = [2, 3, 5, 7]
    
    # Separate pow of 2
    r = 0
    d = n-1
    while d&1 == 0:
        d >>= 1
        r += 1

    for a in witness:
        if w > n-2:
            break
        x = pow(a,d,n)
        if x == 1 or x == n-1: continue

        for i in range(r):
            x = pow(x,2,n)
            if x == 1: return False
            if x == n-1: break
        else:
            return False
    return True
summa = 0
P = sieve(10**6)
for a in sticks:
    facs = sorted(factor(a,P))[::-1]
    mult = 1
    for f in facs:
        summa+=mult
        mult*=f
    summa+=mult
print(summa)