#include #include #include #include #include #include using namespace std; unordered_map < long long ,long long > M; #define LL long long LL f(LL n){ if(M.find(n)!=M.end())return M[n]; LL val=0; val=max(val,1+n); for(LL i=2;i*i<=n;++i){ if(n%i==0){ val=max(val,1+(n/i)*1LL*f(i)); val=max(val,1+i*1LL*f(n/i)); //break; } } return M[n]=val; } int main() { ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); int n; cin >> n; vector a(n); M[1]=1; LL ans=0; for (int i = 0; i < n; i++) { cin >> a[i]; ans+=f(a[i]); // cout<