mem = dict() def get_primes_to(n): D, q = {}, 2 while q <= n: if q not in D: yield q D[q * q] = [q] else: for p in D[q]: D.setdefault(p + q, []).append(p) del D[q] q += 1 def solve(n, pp): if 1 == n: return 1 if n in mem: return mem[n] i = 0 while i < len(pp): if not n % pp[i]: mem[n] = n + solve(n // pp[i], pp) break else: i += 1 else: mem[n] = n + 1 return mem[n] if __name__ == "__main__": n = int(input().strip()) a = list(map(int, input().strip().split(' '))) pp = list(get_primes_to(int(max(a) ** 0.5))) print(sum(solve(e, pp) for e in a))