#include<stdio.h>
#define max(a,b) (a)>(b)?a:b
#define N 100000
int n,l[N],i,j,dp[N];
int main()
{

	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%d",&l[i]),dp[i]=1;
	for(i=0;i<n;i++)
		for(j=i;j<n;j++)
			if(l[i]<l[j])
				dp[j]=max(dp[j],dp[i]+1);
	for(i=j=0;i<n;i++)
		j=max(j,dp[i]);
	printf("%d\n",j);
	return 0;
}