#include using namespace std; #define MAXN 1000010 const int INF = 1e9; typedef long long ll; bool flag[MAXN]; int p[MAXN]; int main() { for (int i = 2; i < MAXN; ++i) { if (!flag[i]) p[++p[0]] = i; for (int j = 1; j <= p[0] && i * p[j] < MAXN; ++j) { flag[i * p[j]] = true; if (i % p[j] == 0) break; } } int n; cin >> n; ll ans = 0; while (n--) { vector pp; ll x; cin >> x; for (int i = 1; i <= p[0] && 1ll * p[i] * p[i] <= x; ++i) { while (x % p[i] == 0) pp.push_back(p[i]), x /= p[i]; } if (x != 1) pp.push_back(x); sort(pp.begin(), pp.end()); ll cur = 1, sum = 1; for (int i = pp.size() - 1; i >= 0; --i) { ll t = pp[i]; cur *= t; sum += cur; } ans += sum; } cout << ans << endl; return 0; }