#include <iostream>
#include <set>
using namespace std;
int main()
{
    int x;
    cin>>x;
    multiset < int > m;
    multiset < int >::iterator it;
    while(cin>>x)
	{
	    m.insert(x);
	    it = m.lower_bound(x);
	    if(++it != m.end())
	        m.erase(it);
	}
	cout<<m.size();
}








