#include #include #include using namespace std; #define rep(i,n) for(int i=0;i> n; vector x; x.resize(n); rep(i, n) { cin >> x[i]; } sort(x.begin(), x.end()); rep(i, n) { int resource = DP[x[i]]; for (int j = 2*x[i]; j < 100001;j+=x[i]) { DP[j] = max(DP[j],resource+1); } } int mx = 0; for (int i = 0; i < 100001; i++) { mx = max(mx, DP[i]); } cout << mx << endl; return 0; }