#include using namespace std; long long longestSequence(vector a) { // Return the length of the longest possible sequence of moves. long long sum=0; int prime[1000001]={0}; for(int k=4;k<1000001;k++) for(int i = 2; i*i <= k; ++i) { if(k%i==0) { prime[k]=1; break; } } for(vector::iterator it=a.begin();it!=a.end();++it) { sum+=*it; if(*it==1); else if(*it<1000000 && !prime[*it]) sum+=1; else { long x,i=2,q=10; x=*it; while(q>=3) { q=x/i; if(x%i!=0 ) i++; else { sum+=q; x=q; i=2; if(q<1000000 && !prime[q]){sum+=1;break;} } } } } return sum; } int main() { int n; cin >> n; vector a(n); for(int a_i = 0; a_i < n; a_i++){ cin >> a[a_i]; } long long result = longestSequence(a); cout << result << endl; return 0; }