#include<iostream>//矿枝
using namespace std;
int x, ans = 0;
int a[5050], f[5050];
int main() {
cin >> x;
for (int i = 1; i <= x; i++) {
cin >> a[i];
}
for (int i = 1; i <= x; i++) {
f[i] = 1;
for (int j = 1; j <= i - 1; j++) {
if (a[i] > a[j]) {
f[i] = max(f[i], f[j] + 1);
ans = max(ans, f[i]);
}
}
}
cout << ans;
return 0;
}
09-26
407
09-27
986
09-26
1474
09-25
353