#include #define f first #define s second #define mp make_pair #define pb push_back #define lp(i,a,n) for(int i=a;i<=n;++i) #define lpd(i,a,n) for(int i=a;i>=n;--i) #define mem(a,b) memset(a,b,sizeof a) #define all(v) v.begin(),v.end() #define println(a) cout <<(a) < pii; typedef pair pll; typedef vector vi; typedef vector vvi; typedef vector vll; typedef set si; typedef map mii; const int N = 100002; int t,n; vll factors; ll solve(ll x, ll cnt, int i){ if(x == 1) return 0; return cnt + solve(x/factors[i], cnt * factors[i], i+1); } void getFactors(ll x){ factors.clear(); while(x%2 == 0) x /= 2, factors.pb(2); for(ll i = 3; i*i <= x; ++i){ while(x%i == 0) x /= i, factors.pb(i); } if(x > 2) factors.pb(x); reverse(all(factors)); } int main(){ readi(n); ll ans = 0; lp(i,1,n){ ll x; cin >>x; getFactors(x); ans += x + solve(x, 1, 0); } cout <