#include #define fir first #define sec second #define MP make_pair using namespace std; typedef long long LL; typedef unsigned long long u64; template inline bool cmin(T & a, const T & b) { return a > b ? a = b, 1 : 0;} template inline bool cmax(T & a, const T & b) { return a < b ? a = b, 1 : 0;} int read() { int x = 0, f = 1;char ch; for(ch = getchar(); !isdigit(ch); ch = getchar()) if(ch == '-') f = -1; for(; isdigit(ch); x = x * 10 + ch - '0', ch = getchar()); return x * f; } const int MaxN = 1001234; int n; LL f[MaxN]; vector fac; LL F(LL n) { fac.clear(); LL N = n; for(int i = 2; i < MaxN && n > 1; i++) { while(n % i == 0) { fac.emplace_back(i); n /= i; } } if(n != 1) fac.emplace_back(n); LL S = 1, ans = 0; for(int i = fac.size() - 1; i >= 0; i--) S *= fac[i], ans += S; return ans; } int main() { int i, j; cin >> n; LL ans = 0; while(n--) { LL x; cin >> x; ans += F(x) + 1; } cout << ans << endl; return 0; }