#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
const int INF = 1e9;
const ll LINF = 1e18;
const int N = 1e3 + 5;
int n;
int a[N];
int dp[N]; // dp[i] = Độ dài dãy con tăng dài nhất kết thúc tại i
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n;
for (int i = 1; i <= n; i++) cin >> a[i];
for (int i = 1; i <= n; i++) {
dp[i] = 1; // i đứng một mình
for (int j = 1; j < i; j++) { // ghép i vào sau một dãy con tăng nào đó ở trước
if (a[j] < a[i]) dp[i] = max(dp[i], dp[j] + 1);
}
}
int ans = 0;
for (int i = 1; i <= n; i++) {
ans = max(ans, dp[i]);
}
cout << ans << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IAoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsgIAoKdHlwZWRlZiBsb25nIGxvbmcgbGw7ICAKdHlwZWRlZiBwYWlyPGludCwgaW50PiBpaTsgIAoKY29uc3QgaW50IElORiA9IDFlOTsgIApjb25zdCBsbCBMSU5GID0gMWUxODsgIAoKY29uc3QgaW50IE4gPSAxZTMgKyA1OyAKCmludCBuOyAgCmludCBhW05dOyAKaW50IGRwW05dOyAvLyBkcFtpXSA9IMSQ4buZIGTDoGkgZMOjeSBjb24gdMSDbmcgZMOgaSBuaOG6pXQga+G6v3QgdGjDumMgdOG6oWkgaQoKaW50IG1haW4oKSB7Cglpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IAoJY2luLnRpZShudWxscHRyKTsgCQoJY2luID4+IG47IAoJZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSBjaW4gPj4gYVtpXTsgCgoJZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CgkJZHBbaV0gPSAxOyAvLyBpIMSR4bupbmcgbeG7mXQgbcOsbmggCgkJZm9yIChpbnQgaiA9IDE7IGogPCBpOyBqKyspIHsgLy8gZ2jDqXAgaSB2w6BvIHNhdSBt4buZdCBkw6N5IGNvbiB0xINuZyBuw6BvIMSRw7Mg4bufIHRyxrDhu5tjCgkJCWlmIChhW2pdIDwgYVtpXSkgZHBbaV0gPSBtYXgoZHBbaV0sIGRwW2pdICsgMSk7IAoJCX0KCX0KCglpbnQgYW5zID0gMDsgIAoJZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CgkJYW5zID0gbWF4KGFucywgZHBbaV0pOyAKCX0KCgljb3V0IDw8IGFucyA8PCAnXG4nOwp9