#include using namespace std; typedef long long int lli; unordered_map dp; lli maxPossibleMoves(lli n) { if(dp[n]) return dp[n]; lli res = 0; for ( int i = 2; i <= sqrt(n); ++i ) { if ( n%i==0) { res = max(res,1+i*maxPossibleMoves(n/i) ); res = max(res,1+(n/i)*maxPossibleMoves(i) ); } } if(res==0) dp[n]=n+1; else dp[n] = res; return dp[n]; } int main() { int n; cin >> n; vector arr(n); for(int a0 = 0; a0 < n; a0++){ cin >> arr[a0]; } dp[1]=1; dp[2]=3; lli res = 0; for(int i=0; i < n; ++i) res += maxPossibleMoves(arr[i]); cout << res << endl; return 0; }