#include <bits/stdc++.h>

using namespace std;

const int maxn = 200 + 15;

int T;
vector < long long > f;
unordered_map < long long , long long > g;

void dddiv( long long x ){
    f.clear();
    long long i;
    for(i = 1 ; i * i < x ; ++ i)
        if( x % i == 0 ){
            f.push_back( i );
            f.push_back( x / i );
        }
    if( i * i == x )
        f.push_back( i );
    sort( f.begin() , f.end() );
}

long long dfs( long long x ){
    if( g.count( x ) ) return g[x];
    long long & ret = g[x] = 0;
    if( x == 1 ) return ret = 1;
    for(auto && ir : f)
        if( x % ir == 0 && ir < x )
            ret = max( ret , dfs( ir ) * ( x / ir ) + 1 );
    return ret;
}

long long solve( long long x ){
    dddiv(x);
    return dfs(x);
}

int main( int argc , char * argv[] ){
    cin >> T;
    long long ans = 0;
    for(int i = 1 ; i <= T ; ++ i){
        long long x;
        cin >> x;
        ans += solve( x );
    }
    cout << ans << endl;
    return 0;
}