#include using namespace std; long longestSequence(vector a) { long dp[1100000], x[1100000]; for (int i = 1; i <= 1000000; i++) dp[i] = 0; dp[1] = 0; /*for (long i = 2; i <= 1000000; i++) { dp[i] = max(dp[i], 1l); for (long j = i+i; j <= 1000000; j+=i) { if (dp[j] < dp[i]*j/i+1) { dp[j] = dp[i]*j/i+1; x[j] = i; } //count++; } }*/ long ans = 0; for (long i = 0; i < a.size(); i++) { ans += a[i]; /*if (a[i] <= 1000000) { ans += dp[a[i]]; continue; }*/ long temp = 0; vector factors; long t1 = a[i]; for (long j = 2; j <= 1000000; j++) { while (t1%j == 0) { t1 /= j; factors.push_back(j); } if (t1 == 1) break; } if (t1 != 1) factors.push_back(t1); t1 = a[i]; long mult = 1; for (int i = factors.size()-1; i >= 0; i--) { temp += mult; t1 /= factors[i]; mult *= factors[i]; } ans += temp; } return ans; } int main() { int n; cin >> n; vector a(n); for(int a_i = 0; a_i < n; a_i++){ cin >> a[a_i]; } long result = longestSequence(a); cout << result << endl; return 0; }