#include <bits/stdc++.h>
using namespace std;

int DP[100001];
int DS[100001];
int T;
int LIS(){
    for(int k=0;k<T;k++){
        for(int i=0;i<k;i++){
            if(DS[i]<DS[k])DP[k]=max(DP[k],DP[i]+1);
        }
    }
    return DP[T];





}

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int T;
    memset(DP,1,sizeof(DP));
    cin>>T;
    for(int i=0;i<T;i++)cin>>DS[i];
    cout>>LIS()<<endl;





    return 0;
}

