#include using namespace std; #define ll long long #define db double #define up(i,j,n) for (int i = j; i <= n; i++) #define down(i,j,n) for (int i = j; i >= n; i--) #define cadd(a,b) a = add (a, b) #define cpop(a,b) a = pop (a, b) #define cmul(a,b) a = mul (a, b) #define pr pair #define fi first #define se second #define SZ(x) (int)x.size() #define bin(i) (1 << (i)) #define Auto(i,node) for (int i = LINK[node]; i; i = e[i].next) template inline bool cmax(T & x, T y){return y > x ? x = y, true : false;} template inline bool cmin(T & x, T y){return y < x ? x = y, true : false;} int N; ll ans = 0; int main(){ scanf("%d", &N); while (N--) { ll n, m, sq, cur = 1; scanf("%lld", &n); m = n; sq = sqrt(n); ans += n; up (i, 2, sq) while (m % i == 0) { m /= i; cur *= i; ans += n / cur; } if (m > 1) ans++; } printf("%lld\n", ans); return 0; }