#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int a[20],f[20],n;
int main()
{
scanf("%d",&n);
memset(f,1,sizeof f );
//f[1]=1;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=1;i<=n;i++)
{
for(int j=1;j<i;j++)
{
f(a[i]>a[j])
f[i]=max(f[i],f[j]+1);
}
}
int max=0;
for(int i=1;i<=n;i++)
{
if(i==1||max<f[i]) max=f[i];
}
printf("%d",max);
return 0;
}