#include <bits/stdc++.h>
#define f first
#define s second
#define mp make_pair
#define pb push_back
#define lp(i,a,n) for(int i=a;i<=n;++i)
#define lpd(i,a,n) for(int i=a;i>=n;--i)
#define mem(a,b) memset(a,b,sizeof a)
#define all(v) v.begin(),v.end()
#define println(a) cout <<(a) <<endl
#define sz(x) ((int)(x).size())
#define readi(x) scanf("%d",&x)
#define read2i(x,y) scanf("%d%d",&x,&y)
#define read3i(x,y,z) scanf("%d%d%d",&x,&y,&z)
#define mod 1000000007
#define eps 1e-8
#define infi 1000000000
#define infll 1000000000000000000ll
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<ll> vll;
typedef set<int> si;
typedef map<int,int> mii;

const int N = 100002;
int t,n;
vll factors;

ll solve(ll x, ll cnt, int i){
    if(x == 1) return 0;
    return cnt + solve(x/factors[i], cnt * factors[i], i+1);
}

void getFactors(ll x){
    factors.clear();
    while(x%2 == 0) x /= 2, factors.pb(2);
    for(ll i = 3; i*i <= x; ++i){
        while(x%i == 0) x /= i, factors.pb(i);
    }
    if(x > 2) factors.pb(x);
    reverse(all(factors));
}

int main(){
    readi(n);
    ll ans = 0;
    lp(i,1,n){
        ll x;
        cin >>x;
        getFactors(x);
        ans += x + solve(x, 1, 0);
    }
    cout <<ans;
}

/*
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
*/