#include using namespace std; typedef long long ll; #define M 1000000007 ll dp[1000010][4]; int main() { int n; cin >> n; vector x(n); for (int i = 0;i < n;i++) { cin >> x[i]; } sort(x.begin(), x.end()); vector dp(n); for (int i = 0;i < n;i++) { dp[i] = 1; } for (int i = 0;i < n;i++) { for (int j = i+1;j < n;j++) { if (x[j]%x[i] == 0) { dp[j] = max(dp[j], dp[i] + 1); } } } int ma = 1; for (int i = 0;i < n;i++) { ma = max(ma, dp[i]); } cout << ma << endl; return 0; }