#include<bits/stdc++.h>
using namespace std;
//#define LOCAL
#define cls ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
#define Mod 998244353
#define ll long long int
#define sf scanf
#define pf printf
#define rep(i,a,b) for(int i=a;i<b;i++)
#define dec(i,a,b) for(int i=b;i>=a;i--)
#define mset(a,b) memset(a,b,sizeof(a))
#define max(a,b) a>b?a:b
const int maxn=2333;
int a[maxn];
int LIS(int n){
if(n==1)
return 1;
int res,max_ending_here=1;
rep(i,1,n){
res=LIS(i);
if(a[i-1]<a[n-1]&&max_ending_here<res+1){
max_ending_here=res+1;
}
}
return max_ending_here;
}
int main(){
cls;
int n;
cin>>n;
rep(i,0,n){
cin>>a[i];
}
cout<<LIS(n)<<endl;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLy8jZGVmaW5lIExPQ0FMCiNkZWZpbmUgY2xzIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKSxjaW4udGllKDApLGNvdXQudGllKDApCiNkZWZpbmUgTW9kIDk5ODI0NDM1MwojZGVmaW5lIGxsIGxvbmcgbG9uZyBpbnQKI2RlZmluZSBzZiBzY2FuZgojZGVmaW5lIHBmIHByaW50ZgojZGVmaW5lIHJlcChpLGEsYikgZm9yKGludCBpPWE7aTxiO2krKykKI2RlZmluZSBkZWMoaSxhLGIpIGZvcihpbnQgaT1iO2k+PWE7aS0tKQojZGVmaW5lIG1zZXQoYSxiKSBtZW1zZXQoYSxiLHNpemVvZihhKSkKI2RlZmluZSBtYXgoYSxiKSBhPmI/YTpiCmNvbnN0IGludCBtYXhuPTIzMzM7CmludCBhW21heG5dOwppbnQgTElTKGludCBuKXsKCWlmKG49PTEpCgkJcmV0dXJuIDE7CglpbnQgcmVzLG1heF9lbmRpbmdfaGVyZT0xOwoJcmVwKGksMSxuKXsKCQlyZXM9TElTKGkpOwoJCWlmKGFbaS0xXTxhW24tMV0mJm1heF9lbmRpbmdfaGVyZTxyZXMrMSl7CgkJCW1heF9lbmRpbmdfaGVyZT1yZXMrMTsKCQl9Cgl9CglyZXR1cm4gbWF4X2VuZGluZ19oZXJlOwp9CmludCBtYWluKCl7CgljbHM7CglpbnQgbjsKCWNpbj4+bjsKCXJlcChpLDAsbil7CgkJY2luPj5hW2ldOwoJfQoJY291dDw8TElTKG4pPDxlbmRsOwp9Cg==