#include using namespace std; mapdp; long longestSequence(long a) { // Return the length of the longest possible sequence of moves. if(dp.find(a)!=dp.end()) return dp.find(a)->second; int i=0,max=0,b; for(i=2;i<=a;i++){ if(a%i==0){ b=i*longestSequence(a/i); b++; if(max> n; vector a(n); // cout<> a[a_i]; } //cout<