#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;
    }
}