#include using namespace std; const int pr_sz = 79000; void Init(vector < int > &prime) { int index = 0; vector < bool > used(1e6 + 7); for (int i = 2; i <= 1e6 + 17; i ++) { if (used[i]) { continue; } prime[++ index] = i; for (int j = 2 * i; j <= 1e6 + 17; j += i) { used[j] = true; } } } void Solve(long long n, vector < int > &prime, vector < long long > &pr, long long &ans) { long long to_add = 1; for (int i = 1; 1ll * prime[i] * prime[i] <= n; i ++) { if (n % prime[i]) { continue; } while (n % prime[i] == 0) { pr.push_back(prime[i]); n /= prime[i]; } } if (n != 1) { pr.push_back(n); } for (int i = pr.size() - 1; i >= 0; i --) { ans += to_add; to_add *= pr[i]; } ans += to_add; pr.clear(); } int main() { ios::sync_with_stdio(false); vector < long long > pr; vector < int > prime(pr_sz); Init(prime); int n; long long ans = 0; cin >> n; for (int i = 1; i <= n; i ++) { long long k; cin >> k; Solve(k, prime, pr, ans); } cout << ans << '\n'; }