#include<iostream>
#include<algorithm>
using namespace std;
#define maxx 101
int a[maxx];
int n;
int maxlen[maxx];int main()
{int i,j;cin>>n;for(i=1;i<=n;++i){cin>>a[i];//数组a存数maxlen[i]=1;//边界条件,每个数最长子序列至少为一}for(i=2;i<=n;++i)for(j=1;j<i;++j){if(a[i]>a[j]){maxlen[i]=max(maxlen[i],maxlen[j]+1);//存以第i个为终点的最长的个数}}cout<<*max_element(maxlen+1,maxlen+n+1);//输出数组中最大的return 0;}