import random def isPrime(p): if p <= 1: return False if p <= 3: return True if p % 2 == 0: return False s = p - 1 while s % 2 == 0: s //= 2 for i in range(4): a = random.randint(1, p - 1) x = pow(a, s, p) t = s while x != p - 1 and x != 1 and t != p - 1: x = pow(x, 2, p) t *= 2 if x != p - 1 and t % 2 == 0: return False return True def getDiv(a): if isPrime(a): return 1 i = 2 while i * i <= a: if a % i == 0: return i i += 1 return 1 res = 0 n = int(input()) arr = list(map(int, input().split())) dp = {} for a in arr: if a in dp: max_div = dp[a] else: max_div = getDiv(a) dp[a] = max_div x = a // max_div while max_div != 1: res += x if x in dp: max_div = dp[x] else: max_div = getDiv(x) dp[x] = max_div x //= max_div res += a + (a != 1) print(res)