#include using namespace std; #define int long long int #define pb push_back int p[1000005] = {0}; vector v; unordered_map m; void prime(){ v.pb(2); for(int i = 4; i <= 1000005; i+=2) p[i] = 1; for(int i = 3; i <= 1000005; i++){ if(p[i] == 0){ v.pb(i); for(int j = i*i; j <= 1000005; j += i) p[j] = 1; } } } int f(int n){ int val = 0; if(m.find(n) != m.end()) return m[n]; if(n <= 1000000 ){ if(p[n] == 0) return m[n] = n+1; } for(int i = 0; i < v.size() && v[i]*v[i] <= n; i++) if(n%v[i] == 0) val = max(val,max(v[i]*f(n/v[i]) + 1, f(v[i])*(n/v[i]) + 1)); return m[n] = val; } signed main() { int a,n,ans=0; cin >> n;m[1] = 1; prime(); for (int i = 0; i < n; i++){ cin >> a; ans += f(a); } cout<