#include #ifndef ONLINE_JUDGE #define gc getchar #define pc putchar #else #define gc getchar_unlocked #define pc putchar_unlocked #endif using namespace std; #define vi vector #define si set #define vs vector #define pii pair #define vpi vector #define pri priority_queue #define rev_pri priority_queue,greater > #define mpi map #define i64 long long int #define endl '\n' #define pi acos(-1) #define all(v) v.begin(),v.end() #define pb push_back #define mp make_pair #define mod 1000000007 #define inf INT_MAX/2 #define infll LLONG_MAX/3 #define For(i,n) for(int i=0;i33){*a=*a*10+c-'0';c=gc();}} //inline void fastWrite(int a){char snum[20];int i=0;do{snum[i++]=a%10+48;a=a/10;}while(a!=0);i=i-1;while(i>=0)pc(snum[i--]);pc('\n');} //i64 bigmod(i64 num,i64 n){if(n==0)return 1;i64 x=bigmod(num,n/2);x=x*x%mod;if(n%2==1)x=x*num%mod;return x;} //i64 modinverse(i64 num){return bigmod(num,mod-2)%mod;} //i64 po(i64 a,i64 b){i64 ans=1;while(b--)ans *= a;return ans;} //i64 ncr(i64 n,i64 r){if(n==r)return 1;if(r==1)return n;if(dp[n][r]!=-1)return dp[n][r];return dp[n][r]=ncr(n-1,r)+ncr(n-1,r-1);} // bit manipulations //bool checkbit(int mask,int bit){return mask & (1< factors(i64 num) { vector v; for(int i = 0 ; i < primes.sz && primes[i]<=sqrt(num) ; i++) while(num % primes[i] == 0) { v.pb(primes[i]); num /= primes[i]; } if(num>1) v.pb(num); return v; } int main() { sieve(); int t; i64 n; sf(t); i64 ans = 0 ; while(t--) { i64 ret = 1; cin >> n; vector v = factors(n); reverse(all(v)); For(i,v.sz) { ret *= v[i]; ans += ret; } ans++; } cout << ans << endl; return 0; }