#include using namespace std; void primeFactors(long n, vector &factors) { while((n % 2) == 0) { factors.push_back(2); n = n / 2; } for (int i = 3; i <= sqrt(n); i = (i + 2)) { while((n % i) == 0) { factors.push_back(i); n = n / i; } } if (n > 2) factors.push_back(n); } long long addFactors(vector &factors) { int N = factors.size(); long long result = 1; for (int i = 0; i < N; i++) result = (result * factors[i]) + 1; return result; } long long longestSequence(vector a) { // Return the length of the longest possible sequence of moves. int N = a.size(); long long result = 0; vector factors; for (int i = 0; i < N; i++) { factors.clear(); primeFactors(a[i], factors); result += addFactors(factors); } return result; } 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; }