"""
input: 5, 6, 7, 1, 2, 8
output: 5, 6, 7, 8
solution: dynamic
"""
def LongestUpSeq(A):
dp = [1] * len(A)
for i in range(1, len(A)):
dp[i] = max(dp[i], dp[i], *(dp[j] + 1 for j in range(i) if A[j] < A[i]))
return max(dp)
def main():
A = [5, 6, 7, 1, 2, 8]
print(LongestUpSeq(A))
if __name__ == "__main__":
main()