#include <bits/stdc++.h>
using namespace std;
const int N=1000;
int a[N],dp[N],t;
int main(){
cin>>t;
for (int i=0;i<t;i++){
cin>>a[i];
dp[i]=1;
}
for (int i=1;i<t;i++){
int maxv=0;
for (int j=0;j<i;j++){
if (a[j]<a[i]){
dp[i]=max(dp[j]+1,dp[i]);
}
}
}
int maxs=0;
for (int i=0;i<t;i++){
maxs=max(maxs,dp[i]);
}
cout<<maxs<<endl;
return 0;
}