#include using namespace std; long lpf(long stick) { long i = 2; while ((i*i)<=stick) { if(stick % i) { i = i+1; } else { stick = stick/i; } } return stick; } long rec(long stick) { if (stick==1) return 1; long b = lpf(stick); long gcdb = stick / b; return rec(gcdb)*b + 1; } long longestSequence(vector a) { long longestSequence = 0; vector path; for (vector::const_iterator i = a.begin(); i != a.end(); ++i) longestSequence=longestSequence+rec(*i); return longestSequence; } 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; }