#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int siz = 1e6 + 10;
const ll modu = 1e9 + 7;

int primes[siz];

int main() {
	int t;
	memset(primes, 0, sizeof primes);
	for(int i = 2; i < siz; i++)
		if(!primes[i])				//If i is prime, mark all it's multiple as composite.
			for(int j = 2 * i; j < siz; j += i)
				primes[j] = 1;
	vector <ll> vec;
	for(int i = 2; i < siz; i++)
		if(!primes[i])
			vec.push_back(i);
	int n;
	scanf("%d", &n);
	ll ans = 0;
	ll arr[n];
	for(int i = 0; i < n; i++) {
		scanf("%lld", &arr[i]);
		ans++;
		ll val = arr[i], count1 = 0;
		int len = vec.size();
		vector <ll> fact;
		for(int j = 0; j < len; j++) {
			ll p = vec[j];
			while(val % p == 0) {
				val /= p;
				fact.push_back(p);
			}
		}
		if(val > 1)
			fact.push_back(val);
		int len1 = fact.size();
		ll prod = 1;
		for(int j = len1 - 1; j >= 0; j--) {
			prod *= fact[j];
			ans += prod;
		}
	}
	printf("%lld\n", ans);
	return 0;
}