#include using namespace std; vector primes; void sieve() { int n = 1000007; vector isprime(n, 1); isprime[0] = isprime[1] = 0; for(int i=2; i factors; for(int i=0; i1) factors.push(n); cnt = layer = 1; while(factors.size()) { ans += cnt; layer = factors.top(); factors.pop(); cnt = cnt * layer; } return ans; } int main() { sieve(); int n; cin >> n; vector a(n); for (int i = 0; i < n; i++) { cin >> a[i]; } long long ans = 0; for(int i=0; i