#include <cmath> #include <cstdio> #include <vector> #include <iostream> #include <algorithm> using namespace std; long long solve(long long& x, vector<long long>& P, long long i){ if(i==-1) return 1; if(x%P[i]==0){ x = x/P[i]; return 1+P[i]*solve(x, P, i); } else return solve(x, P, i-1); } int main() { int n; cin >> n; vector <long long> a(n); for (int i = 0; i < n; ++i) { cin >> a[i]; } long long M = (long long)sqrt(*max_element(a.begin(), a.end())) + 2; vector<long long> P; vector<bool> iP(M, true); for(long long p = 2; p<M; ++p){ if(iP[p]){ P.push_back(p); for(long long i = 2; p*i<M; ++i) iP[i*p] = false; } } long long res = 0; for(long long x:a){ long long s = solve(x, P, P.size()-1); if(x!=1) s = 1+x*s; res += s; } cout << res << endl; return 0; }