#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define pb push_back #define mp make_pair #define mod (1000000000 + 7) #define fi first #define se second #define fast std::ios::sync_with_stdio(false); cin.tie(NULL); typedef long long ll; using namespace std; ll x,y; bool primenu[1000006]; ll a[1000006]; void seive(int n) { memset(primenu,1,sizeof(primenu)); for(int i=2;i*i<=n;i++) { if(primenu[i]) for(int j=i*i;j<=n;j+=i) primenu[j] = 0; } } ll so(ll num) { ll ans = num+1; ll c = num,k=1; while(c%2==0) k*=2,c/=2; if(c==1) return k*2-1; if(k>2) ans = max(ans,1+(num/k)*1ll*(2*k-1)); ll le=0; c = num; for(int i=2;i<=sqrt(num);i++) { while(c%i==0) c/=i; if(num%i==0&&primenu[i]) le = max(le,i*1ll); } le = max(le,c); ans = max(ans,1 + le*1ll*so(num/le)); return ans; } int main() { seive(1000001); int n; cin>>n; ll yo = 0; for(int i=1;i<=n;i++){cin>>a[i];yo += so(a[i]);} cout<