#include using namespace std; // A function to print all prime factors of a given number n void primeFactors(long n,vector &primelist) { // Print the number of 2s that divide n while (n%2 == 0) { n = n/2; primelist.push_back(2); } // n must be odd at this point. So we can skip // one element (Note i = i +2) for (int i = 3; i <= sqrt(n); i = i+2) { // While i divides n, print i and divide n while (n%i == 0) { primelist.push_back(i); n = n/i; } } // This condition is to handle the case when n // is a prime number greater than 2 if (n > 2) primelist.push_back(n); } long calc(long num) { long maxdiv=0; if(num==1) { maxdiv=1; } else { vector primelist; primeFactors(num,primelist); maxdiv=num; for(long i=0;i a) { // Return the length of the longest possible sequence of moves. long res=0; for(long 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; }