#include using namespace std; vector factorize(long n){ long i = 2; vector f; while(i <= sqrt(n) && n > 1){ while(n % i == 0 && n > 1){ f.push_back(i); n = n / i; } i++; } if(n > 1){ f.push_back(n); } return f; } long longestSequence(vector a) { // Return the length of the longest possible sequence of moves. long i, ans, n, t, f_ans = 0; for(i = 0; i < a.size(); i++){ vector f = factorize(a[i]); ans = a[i]; n = a[i]; t = 1; for(int j = 0; j < f.size(); j++){ //cout << f[j] << " "; t = t * f[j]; ans += n / t; } f_ans += ans; //cout << ans << endl; } return f_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; }