#!/bin/python3 import bisect import math import sys def longestSequence(a): limit = 10**6 primes = [] isprime = [True] * (limit) isprime[0] = isprime[1] = False for i in range(2, len(isprime)): if isprime[i]: primes.append(i) for j in range(i*i, limit, i): isprime[j] = False moves = 0 for e in a: move = e search = bisect.bisect(primes, int(math.sqrt(e))) search = min(search, len(primes)-1) divisors = [] for i in range(0, search+1): while e % primes[i] == 0: divisors.append(primes[i]) e //= primes[i] if e == 1: break if e > 1: divisors.append(e) temp = 1 for i in range(len(divisors)-1, -1, -1): move += temp temp *= divisors[i] moves += move return moves if __name__ == "__main__": n = int(input().strip()) a = list(map(int, input().strip().split(' '))) result = longestSequence(a) print(result)