#include using namespace std; const int maxn = 1e6 + 10; int f[maxn]; vector prime; long long calc(long long x) { vector f; long long res = 1; for (int v : prime) if (x % v == 0) { while (x % v == 0) res = res * v + 1, x /= v; } if (x > 1) res = res * x + 1; return res; } int main() { // freopen("input.in", "r", stdin); // freopen("output.out", "w", stdout); for (int i = 2; i < maxn; ++i) { if (!f[i]) { f[i] = i; prime.push_back(i); } for (int j = 0; j < (int) prime.size() && i * prime[j] < maxn && prime[j] <= f[i]; ++j) f[i * prime[j]] = prime[j]; } int n; scanf("%d", &n); long long ans = 0; for (int i = 0; i < n; ++i) { long long x; scanf("%lld", &x); ans += calc(x); } printf("%lld\n", ans); return 0; }