#include using namespace std; long longestSequence(vector a) { // Return the length of the longest possible sequence of moves. long res = 0; for (long i = 0; i1) { res += n; long root = floor(sqrt(n)); long div=1, div2; for (long i = 2; i<=root; i++) { if (n%i == 0) { div = i; break; } } div2 = n / div; long biggerdiv = div > div2 ? div : div2; n = biggerdiv < n ? biggerdiv : n / biggerdiv; } res++; } 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; }