#include <iostream>
#define len (*b)
using std::cin;
using std::cout;
using std::endl;
constexpr int N=105;
int b[N+1]={1};
int find(int x){
int l=1,r=len;
while(l<r){
int mid=l+r>>1;
if(b[mid]>=x){
r=mid;
}else{
l=mid+1;
}
}
return l;
}
int main(int argc,char const* args[] ){
int n,val;
std::ios::sync_with_stdio(false);
cin.tie(nullptr);cout.tie(nullptr);
cin>>n;
cin>>b[1];
for(int i=2;i<=n;++i){
cin>>val;
b[val>b[len]?++len:find(val)]=val;
}
cout<<len<<endl;
return 0;
}