#include using namespace std; //long longestSequence(vector a) { // Return the length of the longest possible sequence of moves. //} bool isprime(long long num) { long long int i; if(num==2) return true; if(num%2==0) return false; for(int i=3;i*i<=num;i=i+2) {if(num%i==0) return false;} return true; } long long fun(long long num) { //long long int t; int flag=0; if(num==1) {flag=1;return 1;} else if(isprime(num)) {flag=1; return (num+1);} else { //t=num; for(int i=2;i<=num/2;i++) { if(num%i==0) { return (num+fun(num/i)); } // if(flag==1) //return total; } } return 1; } int main() { int n; cin >> n; long long total=0; vector a(n); for(int i = 0; i < n; i++){ cin >> a[i]; long long result=0; //long long total=0; result=result+fun(a[i]); // cout << result << endl; total=total+result; } //long result = longestSequence(a); cout << total << endl; return 0; }