import bisect N=int(input()) A=list(map(int,input().split())) L=[10**9 for i in range(N+1)] for i in range(N): #print(A[i]) #print(L) L[bisect.bisect_left(L,A[i])]=A[i] cnt=0 for i in range(N): if L[i]<10**9: cnt+=1 print(N-cnt)