func solv() { guard let N = Int(readLine() ?? ""), let a = readLine() else { return } let A = a.split(separator: " ").compactMap{Int($0)} guard A.count == N else { return } var dp = Array(repeating: 1, count: N) for i in 0.. A[j] { dp[i] = max(dp[i], dp[j] + 1) } } } print(dp.max) } solv()