#include #define _ ios_base::sync_with_stdio(false);cin.tie(0); using namespace std; #define pb push_back #define pob pop_back #define pf push_front #define pof pop_front #define mp make_pair #define all(a) a.begin(),a.end() #define bitcnt(x) __builtin_popcountll(x) #define MOD 1000000007 #define PI 3.14159265 #define tot 300005 #define BLOCK 20000 #define MAXN 1000000000000000 typedef unsigned long long int uint64; typedef long long int int64; mapdp; int prime[1000005]; vectorv; int64 get(int64 x,vectorvals){ for( int i = 0 ;i facts; for( int i = 0 ; i < v.size() ; i++ ){ if( v[i] > n ) break; if( n % v[i] == 0){ div = v[i]; facts.pb(v[i]); } } int64 ans = 1 + (int64)div*go( n/div ); int64 largest = get(n,facts); if( largest > div ) ans = max(ans, 1+ largest*go(n/largest)); dp[n] = ans; return ans; } int main(){ for( int i = 2 ; i < 1000004 ; i++ ){ if( prime[i] ) continue; v.pb(i); dp[i] = 1 + i; for( int j = 2*i ; j< 1000004 ; j+=i ) prime[j] = 1; } int n; int64 x; cin>>n; int64 ans=0; while(n--){ cin>>x; if( x == 1 ){ ans++; continue; } ans+=go(x); } cout<