#include <iostream>
#include <algorithm>
using namespace std;
int main(void) {
int dp[1001];
int arr[1001];
int n;
cin >> n;
int result = -300;
for(int i = 0; i <n; i++)
{
cin >> arr[i];
}
for(int i = 0; i < n; i++){
dp[i] = 1;
for(int j = 0; j < i; j++){
if(arr[j] > arr[i])
{
dp[i] = max(dp[i],dp[j]+1);
if(result <= dp[i]) result = dp[i];
}
}
}
cout << result << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKHZvaWQpIHsKICAgIAogICAgaW50IGRwWzEwMDFdOwogICAgaW50IGFyclsxMDAxXTsKICAgIGludCBuOwogICAgCiAgICBjaW4gPj4gbjsKICAgIAogICAgaW50IHJlc3VsdCA9IC0zMDA7CiAgICAKICAgIGZvcihpbnQgaSA9IDA7ICBpIDxuOyBpKyspIAogICAgewogICAgICAgIGNpbiA+PiBhcnJbaV07CiAgICB9CiAgICAKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspewogICAgCWRwW2ldID0gMTsKICAgICAgICBmb3IoaW50ICBqID0gMDsgaiA8IGk7IGorKyl7CiAgICAgICAgICAgIGlmKGFycltqXSA+IGFycltpXSkgCiAgICAgICAgICAgIHsgCiAgICAgICAgICAgICAgICBkcFtpXSA9IG1heChkcFtpXSxkcFtqXSsxKTsgCiAgICAgICAgICAgICAgICBpZihyZXN1bHQgPD0gZHBbaV0pIHJlc3VsdCA9IGRwW2ldOyAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICAKICAgIGNvdXQgPDwgcmVzdWx0IDw8IGVuZGw7CiAgICAKfQ==