#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(){
int n;
while(cin >> n){
vector<int> nums(n);
for(int i = 0;i<n;i++)
cin >> nums[i];
//动态规划
vector<int> dp(n);
int MAX = 1;
for(int i = 0;i<n;i++){
dp[i] = 1;
for(int j = 0;j<i;j++){
if(nums[i] > nums[j]){
dp[i] = max(dp[i],dp[j]+1);
}
}
MAX = max(MAX,dp[i]);
}
cout<<MAX<<endl;
}
}