#include #include #include using namespace std; long get_first_divisor(long n){ for(long i = 3; i <= sqrt(n); i+=2){ if(n % i == 0) return i; } return n; } long get_moves(long n){ long ans = n; while(n != 1){ if((n & 1) == 0){ n >>= 1; } else{ n /= get_first_divisor(n); } ans += n; } return ans; } long longestSequence(vector a) { long ans = 0; for(int i = 0; i < a.size(); i++){ ans += get_moves(a[i]); } return ans; } 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; }