#include<bits/stdc++.h>
using namespace std;
int n,x,ans,dp[100001];
vector<int>v; 
int main(){
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>x;
        v.push_back(x);
        dp[i]=1;
        for(int j=i-1;j>=0;j--){
            if(v[i]>v[j])dp[i]=max(dp[i],dp[j]+1);
        }
        ans=max(ans,dp[i]);
    }
    cout<<ans;
    return 0;
}
/**************************************************************
	Problem: 1794
	User: zhangzekai
	Language: C
	Result: Compile Error
****************************************************************/