#include<stdio.h>
int n,a[1110],k,b[1110];
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
for(int i=1;i<=n;i++)
{
int min=999999,minx,t=0;
for(int j=1;j<=k;j++)
if(min>b[j]&&b[j]>=a[i])
{
min=b[j];
minx=j;
t=1;
}
if(t==0)
b[++k]=a[i];
else
b[minx]=a[i];
}
printf("%d",k);
return 0;
}
/**************************************************************
Problem: 1229
User: admin
Language: C
Result: Accepted
Time:32 ms
Memory:1152 kb
****************************************************************/