#include using namespace std; typedef long long ll; const int siz = 1e6 + 10; const ll modu = 1e9 + 7; int primes[siz]; int main() { int t; memset(primes, 0, sizeof primes); for(int i = 2; i < siz; i++) if(!primes[i]) //If i is prime, mark all it's multiple as composite. for(int j = 2 * i; j < siz; j += i) primes[j] = 1; vector vec; for(int i = 2; i < siz; i++) if(!primes[i]) vec.push_back(i); int n; scanf("%d", &n); ll ans = 0; ll arr[n]; for(int i = 0; i < n; i++) { scanf("%lld", &arr[i]); ans++; ll val = arr[i], count1 = 0; int len = vec.size(); vector fact; for(int j = 0; j < len; j++) { ll p = vec[j]; while(val % p == 0) { val /= p; fact.push_back(p); } } if(val > 1) fact.push_back(val); int len1 = fact.size(); ll prod = 1; for(int j = len1 - 1; j >= 0; j--) { prod *= fact[j]; ans += prod; } } printf("%lld\n", ans); return 0; }