#include using namespace std; long find_divisor(long n) { if ( n % 2 == 0 ) return 2; for ( long i = 3 ; i <= sqrt(n) ; i+=2) if ( n % i == 0 ) return i; return n; } long longestSequence(vector a) { // Return the length of the longest possible sequence of moves. long res = 0; long min_divisor; for ( auto t : a ){ while ( t > 1 ){ //cout << "t = " << t << endl; res += t; min_divisor = find_divisor(t); t /= min_divisor; } res++; //cout << "res = " << res << endl; } return res; } 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; }