#include <iostream>
using namespace std;
typedef long long ll;
int n;
int ans=0;
int a[5001];
int f(int i){
int maxx=0;
for(int j=i+1;j<n;j++){
if(a[j]>a[i]){
int fj=f(j);
if(fj>maxx){
maxx=fj;
}
}
}
return maxx+1;
}
int main(){
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<n;i++){
int fi=f(i);
// cout <<"f("<<i<<")="<<fi<<endl;
if(fi>ans){
ans=fi;
}
}
cout<<ans<<endl;
return 0;
}