def find(x):
l=0
r=len(b)-1
while l<r:
mid=l+r>>1
if b[mid]>=x:
r=mid
else:
l=mid+1
return l
n=int(input())
a=[0]+list(map(int,input().split()))
b=[a[1]]
for i in range(2,n+1):
if a[i]>b[len(b)-1]:
b.append(a[i])
else:
j=find(a[i])
b[j]=a[i]
print(len(b))