Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
int[] arr=new int[n+1],f=new int[n+1];
for(int i=1;i<=n;i++)
arr[i]=scanner.nextInt();
for(int i=1;i<=n;i++) {
f[i]=1;//一定能够满足的一种情况:只有i的子序列,比如第一个子序列就只有他自己
for(int j=1;j<i;j++) {
if(arr[j]<arr[i]) {//若满足递增关系
f[i]=Math.max(f[i], f[j]+1);
}
}
}
int res=0;
for(int i=1;i<=n;i++)//遍历每个结尾的最大值,查找哪个最大
res=Math.max(res, f[i]);
System.out.println(res);