#include using namespace std; int smallOddDiv(long a) { int i; for(i=3;i<=a;i+=2) { if(a%i==0) { return i; } } return a; } long ans(long a) { if(a==3) { return 4; } if(a<=1) { return 1; } if(a==2) { return 3; } if(a%2==0 && a%3==0) { long x=2*ans(a/2)+1; long y=3*ans(a/3)+1; return max(x,y); } else if(a%2==0) { return 2*ans(a/2)+1; } else { int y=smallOddDiv(a); return y*ans(a/y)+1; } } long longestSequence(vector a) { int i; long sum=0; for(i=0;i> 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; }