#include<iostream>
#include<cstdio>
#include<vector>
#include<algorithm>
#include<queue>
#include<string>
#include<map>
#include<cmath>
#include<bitset>
#include<set>
#include<cstring>
#include<cstdlib>
#include<complex>
#include<list>
#include<sstream>
#include<cassert>

using namespace std;

typedef pair<int,int> ii;
typedef vector<int> vi;
typedef pair<long long,long long> ll;
typedef pair<int,long long> il;
long long mod = 1000000007LL;
long long large = 2000000000000000000LL;


bitset<1000010> vis;
vector<long long> primes;

void sieve(long long n){
	vis.set();
	vis[0] = 0;
	vis[1] = 0;
	for(long long i = 2;i<=n;i++){
		if(vis[i]){
			for(long long j=i*i;j<=n;j+=i){
				vis[j] = 0;
			}
			primes.push_back(i);
		}
	}
}

int main(){

	sieve(1000000LL);
	int n;
	cin>>n;
	long long ans = 0LL;
	while(n--){
		long long a;
		cin>>a;
		vector<long long> p;
		for(int i=0;i<(int)primes.size();i++){
			if(primes[i]*primes[i]>a) break;
			if(a%primes[i]==0){
				while(a%primes[i]==0){
					p.push_back(primes[i]);
					a/=primes[i];
				}
			}
		}
		if(a!=1LL) p.push_back(a);
		long long temp = 1;
		for(int i=0;i<(int)p.size();i++){
			temp*=p[i];
			temp++;
		}
		ans+=temp;
	}
	cout<<ans<<endl;

	return 0;
}