#include using namespace std; long longestSequence(vector a) { // Return the length of the longest possible sequence of moves. long answer = 0; for(int i = 0 ; i < a.size(); i ++ ){ vector prime_count; long answer_onetime = 1; long primes = 1; long n = a[i]; if(n ==1){answer+=answer_onetime;} else{ for (int j = 2; j < sqrt(a[i])+2; j ++){ while (n % j == 0){ prime_count.push_back(j); n/=j; } if(n == 1) break; } if(n > 1){prime_count.push_back(n);} for(int i = prime_count.size()-1 ; i > -1; i--){ primes = primes * prime_count[i]; answer_onetime += primes; } answer+=answer_onetime; } } return answer; } int main() { int n; cin >> n; vector a(n); for(int a_i = 0; a_i < n; a_i++){ cin >> a[a_i]; } long result = longestSequence(a); cout << result << endl; return 0; }