#include <iterator>
#include <cstdio>
#include <set>
using namespace std;
int main() 
{
	int n;
	scanf ("%d", &n);
	int a[n];
	for (int i = 0; i < n; ++i)
		scanf ("%d", &a[i]);
	set<int> st;
	set<int>::iterator it;
	st.clear();
	for (int i = 0; i < n; ++i)
	{
		st.insert(a[i]);
		it = st.find(a[i]);
		++it;
		if (it != st.end())
			st.erase(a[i]);
	}
	printf ("%d\n",st.size());
	return 0;
}