#include<bits/stdc++.h>
using namespace std;
int main()
{
freopen("number.in","r",stdin);
freopen("number.out","w",stdout);
int n,a[3000001],f[3000001],max1,i,j;
cin>>n;
for(i=1;i<=n;i++)
cin>>a[i];
sort(a+1,a+1+n);
f[1]=1;
for(i=2;i<=n;i++)
{
max1=0;
for(j=1;j<=i-1;j++)
if(a[i]%a[j]==0&&f[j]>max1)
max1=f[j];
f[i]=1+max1;
}
max1=0;
for(i=1;i<=n;i++)
if(f[i]>max1)
max1=f[i];
cout<<max1<<endl;
return 0;
}