#include #include #include #include #include #include #include #include #include #include #include #include #include #include //#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; using ld = long double; using pii = pair; using vi = vector; using vd = vector; using vll = vector; using vs = vector; #define range(i,a,b) for(auto i=(a);i<(b);i++) #define rep(i,n) range(i,0,n) #define all(c) begin(c),end(c) #define CLR(i,x) memset(i,x,sizeof(i)) #define clr0(i) CLR(i,0) #define clr1(i) CLR(i,-1) #define bit(x,i) ((x>>i)&1) #define M(x) ((x)%MOD) #define acc(f,x,y) x=f(x,y) #define fst first #define snd second #define tup make_tuple constexpr int N = 50; ll p0[N]; template int prime_factors(ll n, It p0) { It p1 = p0; for (ll p = 2; p * p <= n; p++) while (n % p == 0) n /= p, *(p1++) = p; if (n > 1) *(p1++) = n; return p1 - p0; } ll work(ll x) { ll *p1 = p0 + prime_factors(x, p0); reverse(p0, p1); ll ans = 1, c = 1; range (p, p0, p1) c *= *p, ans += c; return ans; } int main() { int n; scanf("%d", &n); ll x, ans = 0; rep (i, n) { scanf("%lld", &x); ans += work(x); } printf("%lld\n", ans); return 0; }