#include using namespace std; long getPiece(long a){ vector ve; while(a%2 ==0){ ve.push_back(2); a/=2; } for(long i=3;i<=sqrt(a);i+=2){ while(a%i ==0){ ve.push_back(i); a/=i; } } if(a>2) ve.push_back(a); long cnt=1; long temp=1; long n = ve.size(); //cout<=0;i--){ cnt += (long) temp*ve[i]; temp = (long) temp*ve[i]; // cout< a) { // Return the length of the longest possible sequence of moves. long n = a.size(); long cnt=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; }