#include <bits/stdc++.h>
using namespace std;
#define ll long long
const ll MaxN=2e5;
ll N;
int main() {
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
cin>>N;
multiset<int> st;
int num;
cin>>num;
st.insert(num);
//int ans=1;
for(int i=1;i<N;i++){
cin >> num;
auto it=upper_bound(st.begin(),st.end(),num);
if(it==st.end()){
st.insert(num);
}else{
st.erase(it);
st.insert(num);
}
}
cout << st.size() << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCgpjb25zdCBsbCBNYXhOPTJlNTsKbGwgTjsKCmludCBtYWluKCkgewoJaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7CgljaW4udGllKDApOyBjb3V0LnRpZSgwKTsKCWNpbj4+TjsKCW11bHRpc2V0PGludD4gc3Q7CglpbnQgbnVtOwoJY2luPj5udW07CglzdC5pbnNlcnQobnVtKTsKCS8vaW50IGFucz0xOwoJZm9yKGludCBpPTE7aTxOO2krKyl7CgkJY2luID4+IG51bTsKCQlhdXRvIGl0PXVwcGVyX2JvdW5kKHN0LmJlZ2luKCksc3QuZW5kKCksbnVtKTsKCQlpZihpdD09c3QuZW5kKCkpewoJCQlzdC5pbnNlcnQobnVtKTsKCQl9ZWxzZXsKCQkJc3QuZXJhc2UoaXQpOwoJCQlzdC5pbnNlcnQobnVtKTsKCQl9Cgl9Cgljb3V0IDw8IHN0LnNpemUoKSA8PCAnXG4nOwp9Cg==