#include using namespace std; #define ll long long int vector isPrime(1000009,true); ll func(ll a) { if(a<=1)return a; if(a<1000009) { if(isPrime[a])return a+1; } ll sq = sqrt(a); ll z = a; ll largest = INT_MIN; for(int i=2;i<=sqrt(z);i++) { if(z%i==0) { while(z%i==0) z/=i; largest = i; } } if(z>2)largest = z; //cout << "larget = " << largest << endl; return func(a/largest)*largest+1; } ll longestSequence(vector a) { int n = a.size(); ll ans = 0; for(int i=0;i> n; vector a(n); for(int a_i = 0; a_i < n; a_i++){ cin >> a[a_i]; } ll result = longestSequence(a); cout << result << endl; return 0; }