#include using namespace std; #define int long long #define MAXN 1000001 int spf[MAXN]; void sieve() { spf[1] = 1; for (int i=2; i ret; int ans=x; while (x != 1) { x = x / spf[x]; ans = ans +x; } return ans; } int longestSequence(vector a) { int ans = 0 ; for(int i = 0;i=1000000) { temp = 0; for(int j=2;j<=sqrt(a[i]);j++) { if(spf[j]==j&&a[i]%j==0) { ans +=a[i]; a[i] = a[i]/j; temp = 1; break; } } if(temp == 0) break; } if(a[i]>=1000000) ans+=a[i]+1; else ans += getFactorization(a[i]); } return ans; } int32_t main() { sieve(); int n; cin >> n; vector a(n); for(int a_i = 0; a_i < n; a_i++){ cin >> a[a_i]; } int result = longestSequence(a); cout << result << endl; return 0; }