#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 = x[i]; j < 1000001;j+=x[i]) { DP[j] = max(DP[j],resource+1); } } int mx = 0; for (int i = 0; i < 1000001; i++) { mx = max(mx, DP[i]); } cout << mx << endl; return 0; }