#include #include #include using namespace std; int main(){ int N; cin>>N; map DP; int Xmax=0; for(int i=0;i>x; DP[x]=1; Xmax=max(x,Xmax); } for(auto ite=DP.begin(); ite!=DP.end();ite++){ int x=ite->first; for(int i=2;x*i<=Xmax;i++){ if(DP.find(x*i)!=DP.end()){ DP[x*i]=max(DP[x*i],DP[x]+1); } } } int ans=1; for(auto ite=DP.begin(); ite!=DP.end();ite++){ ans=max(ans,ite->second); } cout<