#include using namespace std; typedef unsigned long long int ll; typedef double dbl; #define fr(x,a,b) for(ll x=a;x > f; map dp,p; void cal(ll n){ for(ll i=1;i*i<=n;i++){ if(n%i==0){ if(n/i==i) f[n].PB(i); else{ f[n].PB(i); if(n/i!=n) f[n].PB(n/i); } } } } ll fn(ll n){ if(p[n]==0){ cal(n); p[n]=1; } if(n==1) return 1; else{ if(dp[n]==0){ ll move=0; fr(i,0,f[n].size()){ move=max(move,(n/f[n][i])*(f[n][i])+fn(f[n][i])); } dp[n]=move; return dp[n]; } else return dp[n]; } } int main(){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); ll n; cin>>n; ll a[n]; fr(i,0,n) cin>>a[i]; ll ans=0; fr(i,0,n){ ans+=fn(a[i]); } cout<