#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef pair ii; typedef vector vi; typedef pair ll; typedef pair il; long long mod = 1000000007LL; long long large = 2000000000000000000LL; bitset<1000010> vis; vector primes; void sieve(long long n){ vis.set(); vis[0] = 0; vis[1] = 0; for(long long i = 2;i<=n;i++){ if(vis[i]){ for(long long j=i*i;j<=n;j+=i){ vis[j] = 0; } primes.push_back(i); } } } int main(){ sieve(1000000LL); int n; cin>>n; long long ans = 0LL; while(n--){ long long a; cin>>a; vector p; for(int i=0;i<(int)primes.size();i++){ if(primes[i]*primes[i]>a) break; if(a%primes[i]==0){ while(a%primes[i]==0){ p.push_back(primes[i]); a/=primes[i]; } } } if(a!=1LL) p.push_back(a); long long temp = 1; for(int i=0;i<(int)p.size();i++){ temp*=p[i]; temp++; } ans+=temp; } cout<