#include using namespace std; #define fast ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); #define rep(i,n) for(ll i=0;i=b;i--) #define ll long long int #define pll pair #define fill(a,x) memset(a,x,sizeof(a)) #define mb make_pair #define pb push_back #define F first #define S second #define M 1000000007 #define sc(x) scanf("%lld",&x) #define scc(x1,x2) scanf("%d%d",&x1,&x2) #define sccc(x1,x2,x3) scanf("%d%d%d",&x1,&x2,&x3) #define pr(x) printf("%lld\n",x) #define dbg(a) std::cerr<<#a<<"="<<(a)<<"\n" #define dbg1(a,b) std::cerr<<#a<<"="<<(a)<<", "<<#b<<"="<<(b)<<"\n" #define dbg2(a,b,c) std::cerr<<#a<<"="<<(a)<<", "<<#b<<"="<<(b)<<", "<<#c<<"="<<(c)<<"\n" #define dbg3(a,b,c,d) std::cerr<<#a<<"="<<(a)<<", "<<#b<<"="<<(b)<<", "<<#c<<"="<<(c)<<", "<<#d<<"="<<(d)<<"\n" #define co cout<<"fuck"<v; void sieve() { a[1]=1; for(int i=4;i<1000001;i+=2) a[i]=1; for(int i=2;i*i<1000001;i++) { if(!a[i]) { for(int j=2*i;j<1000001;j+=i) a[j]=1; } } for(int i=2;i<1000001;i++) { if(!a[i]) v.pb(i); } } int main() { ll t,n,x; cin>>n; sieve(); //co; // dbg3(v[0],v[1],v[2],v[3]); ll ans=0; rep(i,n) { cin>>x; ans+=1; ll sq=sqrt(x); //dbg(sq); ll prev=1; reff(j,min(sq,(ll)v.size()-1),0) { // dbg1(x,v[j]); if(v[j]>x) continue; // if(v[j]==7) dbg2(x,prev,v[j]); // dbg1(j,x); if(x%v[j]==0ll) { while(x%v[j]==0ll) { ans+=prev*v[j]; // dbg(ans); x/=v[j]; prev*=v[j]; } } } if(x!=1) ans+=prev*x; //dbg(ans); } cout<