#include<bits/stdc++.h>
using namespace std;
int n,ans;
int main(){
cin>>n;
int a[n],dp[n];
for(int i=1;i<=n;i++){
cin>>a[i];
dp[i]=1;
for(int j=1;j<=i;j++){
if(a[j]>a[i]){
if(dp[j]+1>dp[i]) dp[i]=dp[j]+1;
}
}
ans=max(ans,dp[i]);
}
cout<<ans;
return 0;
}
/**************************************************************
Problem: 1795
User: huangsheng
Language: C++
Result: Accepted
Time:19 ms
Memory:2072 kb
****************************************************************/