#include #include #include #include #include using namespace std; long long mindiv(long long val) { if(val % 2 == 0) return 2; else { long long res = 3; while(res * res < val) { if(val % res == 0) return res; res += 2; } } return val; } int main() { int n; cin >> n; vector a(n); for (int i = 0; i < n; i++) { cin >> a[i]; } /* Enter your code here. Print output to STDOUT */ long long res = 0; for(long long ai: a) { res += ai; vector dvs; while(ai > 1) { dvs.push_back(mindiv(ai)); ai /= dvs.back(); } sort(dvs.begin(),dvs.end(), greater()); long long frags = 1; for(long long dv: dvs) { res += frags; frags *= dv; } } cout << res << endl; return 0; }