#include #include #include #include #include using namespace std; int n,cnt=0,p[200000]; long long d[1000]; long long ans=0; bool f[1000010]; void _(int m){ memset(f,true,sizeof(f)); f[1]=false; for (register int i=2;i<=m;i++){ if (f[i]){ p[++cnt]=i; for (int j=i<<1;j<=m;j+=i){ f[j]=false; } } } } void calc(long long x){ int tot=0; long long h=x; for (int i=1;h>1&&i<=cnt;i++){ while (h%p[i]==0){ d[++tot]=p[i]; h/=p[i]; } } if (h>1){ d[++tot]=h; } h=1; for (int i=tot;i;i--){ ans+=h; h*=d[i]; } ans+=x; } int main(){ long long x; _(1000000); scanf("%d",&n); for (int i=1;i<=n;i++){ scanf("%lld",&x); calc(x); } printf("%lld",ans); return 0; }