#include <bits/stdc++.h>

#define eb emplace_back
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define INF 0x3f3f3f3f

using namespace std;

typedef long long ll;
typedef pair<int, int> pii;
typedef vector<int> vi;
const int N = 220;

#include <bits/stdc++.h>

using namespace std;
map <ll, ll> dp;
vector <ll> dividers;
ll solve (ll pedaco) {
	if (pedaco == 1) return 1;
	if (dp.count(pedaco)) return dp[pedaco];
	ll ans = 0;
	for (auto d : dividers) {
		if (pedaco % d or pedaco == d) continue;
		ans = max(ans, solve(d) * (pedaco/d) + 1);
	}
	return dp[pedaco] = ans;
}
int main() {
    int n;
    cin >> n;
    vector<ll> a(n);
	ll ans = 0;
    for(int a_i = 0; a_i < n; a_i++){
       cin >> a[a_i];
	   dividers.clear();
	   if (dp.count(a[a_i])) {
		   ans += dp[a[a_i]];
		   continue;
	   }
		for (int p = 1; ll(p) * p <= a[a_i]; p++) {
			if (a[a_i] % p) continue;
			dividers.pb(p);
			if (p == a[a_i]/p) continue;
			dividers.pb(a[a_i] / p);
		}
	   ans += solve(a[a_i]);  
    }
	cout << ans << endl;
    return 0;
}