#include using namespace std; vector primes; #define N 1000000 void init() { int p[N]; memset(p, 0, sizeof(p)); for(int i = 2; i < 1000; i++) { if(p[i]) continue; for(int j = i * i; j < N; j += i) { p[j] = i; } } for(int i = 2; i < N; i++) { if(p[i]) continue; primes.push_back(i); } } long solve(long a) { long b = a, i = 0; vector factors; while(i < primes.size() && b != 1) { while(b % primes[i] == 0) { b /= primes[i]; a += b; factors.push_back(primes[i]); } i += 1; } if(b != 1) { a += 1; } return a; } long longestSequence(vector a) { long ans = 0; for(int i = 0; i < a.size(); i++) { ans = ans + solve(a[i]); } return ans; } int main() { int n; cin >> n; vector a(n); init(); for(int a_i = 0; a_i < n; a_i++){ cin >> a[a_i]; } long result = longestSequence(a); cout << result << endl; return 0; }