import java.util.Scanner;
public class test2 {
public static void main(String args[]) {
Scanner sc=new Scanner(System.in);
int N=sc.nextInt();
int a[]=new int[N];
for(int i=0;i<N;i++) {
a[i]=sc.nextInt();
}
int dp[]=new int[N];
dp[0]=a[0];
int len=1;
int left,right,mid;
for(int i=1;i<N;i++) {
if(a[i]>dp[len-1]) {
dp[len++]=a[i];
}else {
left=0;right=len-1;
while(left<=right) {
mid=(left+right)/2;
if(dp[mid]<a[i]) {
left=mid+1;
}else {
right=mid-1;
}
}
dp[left]=a[i];
}
}
System.out.println(len);
}
}