#!/bin/python import sys import math def sieve(n): sieve = [True] * (n + 1) sieve[0] = sieve[1] = False i=2 while (i * i <= n): if (sieve[i]): k=i * i while (k <= n): sieve[k] = False k += i i += 1 return sieve def longestSequence(a): # Return the length of the longest possible sequence of moves. N = 1000000000000 M = int(math.floor(pow(N, 0.5))) S = sieve(M) P = [] for i in range(len(S)): if S[i]: P.append(i) result = 0 for A in a: result += A for p in P: if A == 1: break while A % p == 0: result += A/p A /= p return result if __name__ == "__main__": n = int(raw_input().strip()) a = map(long, raw_input().strip().split(' ')) result = longestSequence(a) print result