#include <iostream>
using namespace std;
int main() {
int n;
cin>>n;
int a[n];
for(int i=0;i<n;i++)
{
cin>>a[i];
}
int DP[n];
for(int i=0;i<n;i++)
{
DP[i]=1;
for(int j=0;j<i;j++)
{
if(a[j] < a[i] && DP[i] < DP[j]+1)
{
DP[i] = DP[j]+1;
}
}
}
int maxi =0;
for(int i=0;i<n;i++)
{
if(maxi < DP[i])
{
maxi = DP[i];
}
}
cout<<maxi<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CgkKCWludCBuOwoJY2luPj5uOwoJCglpbnQgYVtuXTsKCWZvcihpbnQgaT0wO2k8bjtpKyspCgl7CgkJY2luPj5hW2ldOwoJfQoJCglpbnQgRFBbbl07Cglmb3IoaW50IGk9MDtpPG47aSsrKQoJewoJCURQW2ldPTE7CgkJZm9yKGludCBqPTA7ajxpO2orKykKCQl7CgkJCWlmKGFbal0gPCBhW2ldICYmIERQW2ldIDwgRFBbal0rMSkKCQkJewoJCQkJRFBbaV0gPSBEUFtqXSsxOwoJCQl9CgkJfQoJfQoJCglpbnQgbWF4aSA9MDsKCWZvcihpbnQgaT0wO2k8bjtpKyspCgl7CgkJaWYobWF4aSA8IERQW2ldKQoJCXsKCQkJbWF4aSA9IERQW2ldOwoJCX0KCX0KCQoJY291dDw8bWF4aTw8ZW5kbDsKCQoJcmV0dXJuIDA7Cn0=