#include<bits/stdc++.h>
using namespace std;
vector<int> v(1);
int n, ans[5005];
int dfs(int x){
if(ans[x])
return ans[x];
int k = 1;
for(int i = x + 1; i <= n; ++i){
if(v[i] <= v[x])
continue;
k = max(k, dfs(i) + 1);
}return ans[x] = k;
}signed main(){
scanf("%d", &n);
for(int i = 1; i <= n; ++i){
int k;
scanf("%d", &k);
v.push_back(k);
}printf("%d", dfs(1));
return 0;
}