#include <bits/stdc++.h>

using namespace std;

const int milion = 1000100;
int prim[79000];
bool c[milion + 1];

long longestSequence(vector <long> a) {
    //  Return the length of the longest possible sequence of moves.
    for (int i = 2; i * i <= milion; i++)
        if (c[i] == 0)
            for (int j = i * i; j <= milion; j += i)
                c[j] = 1;
    for (int i = 2; i <= milion; i++)
        if (c[i] == 0)
            prim[++prim[0]] = i;
    
    long cnt = 0;
    for (auto &t : a) {
        long x = t, y = 1, ans = 0;
        for (int p = prim[0]; p > 0; p--) {
            while (x % prim[p] == 0) {
                ans += y;
                y *= prim[p];
                x /= prim[p];
            }
        }
        if (x != 1) {
            ans = 1 + ans * x;
            y *= x;
            x /= x;
        }
        ans += y;
        cnt += ans;
    }
    return cnt;
}

int main() {
    int n;
    cin >> n;
    vector<long> a(n);
    for(int a_i = 0; a_i < n; a_i++){
       cin >> a[a_i];
    }
    long result = longestSequence(a);
    cout << result << endl;
    return 0;
}