#include <bits/stdc++.h> #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) <<endl #define sz(x) ((int)(x).size()) #define readi(x) scanf("%d",&x) #define read2i(x,y) scanf("%d%d",&x,&y) #define read3i(x,y,z) scanf("%d%d%d",&x,&y,&z) #define mod 1000000007 #define eps 1e-8 #define infi 1000000000 #define infll 1000000000000000000ll using namespace std; typedef long long ll; typedef pair<int,int> pii; typedef pair<ll,ll> pll; typedef vector<int> vi; typedef vector<vi> vvi; typedef vector<ll> vll; typedef set<int> si; typedef map<int,int> 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 <<ans; } /* freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); */