n = int(input())
val = list(map(int, input().split()))

L = [1] * n #初始化一个包含n个1的数组,每当比较一次就加一

for i in reversed(range(n)):
    for j in range(i + 1, n):
        if val[j] > val[i]:
            L[i] = max(L[i], L[j] + 1)
print(max(L))