// main.cpp // solve // // Created by Ahmed on 11/16/16. // Copyright © 2016 Abdellah. All rights reserved. // #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define f first #define s second #define pb push_back #define sz(a) (int)a.size() #define lp(i,a,n) for(int (i)=(a);(i)<=(int)(n);(i)++) #define lpd(i,n,a) for(int (i)=(n);(i)>=(a);--(i)) #define mp make_pair #define clr(a,b) memset(a,b,sizeof a) #define all(v) v.begin(),v.end() #define mod 1000000007 #define eps 1e-6 #define infi 1000000000 #define infll 4000000000000000005ll #define MX 1000000 #define X real() #define Y imag() #define polar(r,t) ((r)* exp(point(0,(t)))) #define length(a) hypot( (a).X , (a).Y ) #define angle(a) atan2( (a).Y , (a).X ) #define vec(a,b) ( (b) - (a) ) #define dot(a,b) (conj(a)*(b)).X #define cross(a,b) (conj(a)*(b)).Y #define lengthsqr(a) dot(a,a) #define reflect(V,M) (conj((V)/(M)) * (M)) #define normalize(a) ((a)/length(a)) #define ccw(a,b,c) cross(vec(a,b) , vec(a,c)) > -eps #define cosRule(a,b,c) (acos(((a)*(a)+(b)*(b)-(c)*(c))/(2*(a)*(b)))) #define cosDot(a,b) (acos(dot(a,b)/length(a)/length(b))) #define EQ(a,b) (fabs((a) - (b)) <= eps) /* equal to */ #define NE(a,b) (fabs((a) - (b)) > eps) /* not equal to */ #define LT(a,b) ((a) < (b) - eps) /* less than */ #define GT(a,b) ((a) > (b) + eps) /* greater than */ #define LE(a,b) ((a) <= (b) + eps) /* less than or equal to */ #define GE(a,b) ((a) >= (b) - eps) /* greater than or equal to */ #define mod1 100050001 #define mod2 100030001 #define base1 37 #define base2 31 #define que priority_queue, vector> , greater > > #define rotate(v,t) ((v)*exp(point(0,t))) #define rotateabout(v,t,a) (rotate(vec(a,v),t)+(a)) #define PI atan(1)*4 using namespace std; typedef long long ll; typedef pair pii; typedef pair pdd; typedef pair pll; typedef vector vi; typedef vector vll; typedef vector vvi; typedef set si; typedef map mii; typedef map mll; typedef unordered_map umll; typedef complex point; typedef pair line; typedef pair Circle; const int N = 100002; int t,n; vll primeFacts; ll solve(int i, ll x, ll cnt){ if(x == 1) return 0; return cnt + solve(i+1, x/primeFacts[i], cnt * primeFacts[i]); } void getPrimeFactors(ll x){ primeFacts.clear(); while(x%2 == 0) x /= 2, primeFacts.pb(2); for(ll i = 3; i*i <= x; ++i){ while(x%i == 0) x /= i, primeFacts.pb(i); } if(x > 2) primeFacts.pb(x); } int main(){ scanf("%d",&n); ll ans = 0; lp(i,1,n){ ll x; scanf("%lld",&x); getPrimeFactors(x); reverse(all(primeFacts)); ans += x + solve(0, x, 1); } printf("%lld\n",ans); }