#include #define s second #define f first #define llong long long using namespace std; ifstream fin("Cin.txt"); int LEN = 1e6 + 5; vector sieve(LEN, 1); vector primes(0); int P = 0; void sieve_() { sieve[1] = 0; for (int i = 2; i < LEN; i++) { if (sieve[i]) { P++; primes.push_back(i); for (int j = 2 * i; j < LEN; j += i) { sieve[j] = 0; } } } } int main() { sieve_(); int N; cin >> N; llong answ = 0; for (int i = 0; i < N; i++) { llong a; cin >> a; llong a0 = a; llong temp = a; for (auto p : primes) { while (temp % p == 0) { temp /= p; } } if (temp != 1) { a /= temp; answ += temp; } for (int j = P - 1; j >= 0; j--) { while (a % primes[j] == 0) { a /= primes[j]; answ += a0 / a; } } } cout << answ + N << "\n"; }