#include<bits/stdc++.h>
#define rep(i,start,lim) for(lld i=start;i<lim;i++)
#define repd(i,start,lim) for(lld i=start;i>=lim;i--)
#define scan(x) scanf("%lld",&x)
#define print(x) printf("%lld ",x)
#define f first
#define s second
#define pb push_back
#define mp make_pair
#define br printf("\n")
#define sz(a) lld((a).size())
#define YES printf("YES\n")
#define NO printf("NO\n")
#define all(c) (c).begin(),(c).end()
using namespace std;
#define INF         1011111111
#define LLINF       1000111000111000111LL
#define EPS         (double)1e-10
#define MOD         1000000007
#define PI          3.14159265358979323
using namespace std;
typedef long double ldb;
typedef long long lld;
lld powm(lld base,lld exp,lld mod=MOD) {lld ans=1;while(exp){if(exp&1) ans=(ans*base)%mod;exp>>=1,base=(base*base)%mod;}return ans;}
typedef vector<lld> vlld;
typedef pair<lld,lld> plld;
typedef map<lld,lld> mlld;
typedef set<lld> slld;
#define sync ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define endl '\n'
#define N 1000005
#define fre freopen("1.in","r",stdin); freopen("1.out","w",stdout);
lld pr[N];
vlld primes;
int main()
{
  //sync;
  rep(i,2,N) if(pr[i]==0) {
    for(lld j=2*i;j<N;j+=i) pr[j]=max(pr[j],i);
    primes.pb(i);
  }
  reverse(all(primes));
  lld n,ans=0,mul,x;
  cin>>n;
  rep(i,1,n+1) {
    cin>>x;
    mul=1;
    if(x==1) {
      ans++;
      continue;
    }
    while(1) {
      //cout<<ans<<" "<<mul<<" "<<x<<endl;
      if(x==1) break;
      lld mk=-1,orig=x;
      for(auto i:primes) if(orig%i==0) {
        mk = max(mk,i);
        while(orig%i==0) orig/=i;
      }
      if(orig) mk=max(mk, orig);
      if(mk==-1 or mk==x) {
        ans+=(mul*(x+1));
        break;
      }
      ans+=(mul);
      mul*=mk;
      x/=mk;
    }
  }
  cout<<ans;
  return 0;
}