def f(l):
dp = [1]*len(l)
for i in range(len(l)):
max_dp = 0
for j in range(i):
if l[j] < l[i]:
if dp[j] > max_dp:
max_dp = dp[j]
dp[i] = max_dp + 1
return dp
l = [10,9,2,5,3,7,101,18]
result = max(f(l))
print(result)