#include #include #include #include #include #include #include #include #include #include #include #define M_PI 3.14159265358979323846 const int mod = 1000000007; const int MX = 1000000007; const long long LMX = (long long)MX * (long long)MX; using namespace std; int inr(int a, int l, int r) { return a >= l && a <= r; } vector pr; //int era[1000000]; long long get(long long a) { if(a == 1) { return 0; } vector dels; dels.clear(); long long ba = a; for(int i = 0;i < pr.size() && pr[i] * pr[i] <= ba;i++) { while(a % pr[i] == 0) { dels.push_back(pr[i]); a /= pr[i]; } } if(a > 1) { dels.push_back(a); } sort(dels.begin(), dels.end()); reverse(dels.begin(), dels.end()); //for(int i = 0;i < dels.size();i++) // cout << dels[i] << " "; long long res = 0, next = 1; for(int i = 0;i < dels.size();i++) { res += next; next *= dels[i]; } return res; } long longestSequence(vector a) { long res = 0; for(int i = 0;i < a.size();i++) { res += get(a[i]) + a[i]; //cout << res << endl; } return res; } // 24 = 2 * 3 * 2 * 2 // 1 + 3 + 3 * 2 + 3 * 4 int check(int x) { for(int i = 0;i < pr.size() && pr[i] * pr[i] <= x;i++) if(x % pr[i] == 0) return 0; return 1; } int main() { for(int i = 2;i <= 1000000;i++) if(check(i)) { pr.push_back(i); } 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; }