#include using namespace std; #define ll long long #define MAXP ((int)(2e6)) bool isComposite[MAXP]; vector primes; int main() { int N; ll total = 0, A; cin >> N; isComposite[0] = isComposite[1] = true; for (ll i = 2; i < MAXP; i++) { if (isComposite[i]) continue; primes.push_back(i); for (ll j = i*i; j < MAXP; j += i) isComposite[j] = true; } for (int i = 0; i < N; i++) { cin >> A; vector pfs; pfs.push_back(1); for (int j = 0; primes[j]*primes[j] <= A; j++) { while (A % primes[j] == 0) { pfs.push_back(primes[j]); A /= primes[j]; } } if (A > 1) pfs.push_back(A); sort(pfs.begin(), pfs.end()); ll current = 1; for (int j = (int)pfs.size() - 1; j >= 0; --j) { total += current; current *= pfs[j]; } } cout << total << endl; return 0; }