#include<iostream>
using namespace std;
int main()
{
int dp[10001]={0},n,a[10001]={0};
while(cin>>n)
{
for(int i = 1;i<=n;i++) cin>>a[i];
dp[1] = 1;
int max,tmp;
for(int i = 2;i<=n;i++)
{
dp[i] = 1;
for(int j = i-1;j>=1;j--)
{
if(a[i] >a[j])
dp[i] = dp[i]>dp[j]+1?dp[i]:dp[j]+1;
}
}
max = dp[1];
for(int i = 1;i<=n;i++)
if(dp[i]>max) max = dp[i];
cout<<max<<endl;
}
}
10-12
10-12