#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
//const int INF = (int)1.01e9;


int main() {
#ifdef HOME
    freopen("in", "r", stdin);
#endif
    unordered_map<ll, ll> mp;

    int n;
    while (scanf("%d", &n) == 1) {
        vector<ll> a(n);
        for (int i = 0; i < n; i++) scanf("%lld", &a[i]);

        ll ans = 0;
        for (ll x : a) {
            ll cur = x;
            vector<ll> pr;
            for (ll i = 2; i * i <= cur; i++) {
                if (cur % i == 0) {
                    pr.push_back(i);
                    //while (cur % i == 0) cur /= i;
                    pr.push_back(cur / i);
                }
            }
            if (cur > 1) pr.push_back(cur);

            function<ll(ll)> rec = [&](ll y) {
                if (mp.count(y)) {
                    return mp[y];
                }
                ll cres = 1;
                for (ll p : pr) {
                    if (y % p == 0) {
                        cres = max(cres, 1 + p * rec(y / p));
                    }
                }
                return mp[y] = cres;
            };
            ans += rec(x);
        }
        cout << ans << endl;
    }

    return 0;
}