농부 존이 기르는 소 $N$마리($1 \le N \le 5{,}000$)는 각자 서로 다른 양의 정수 번호를 가지고 있으며, 이 번호는 모두 부호 있는 32비트 정수 범위 안에 들어간다. 존은 소들이 번호 순서대로 줄을 서서 먹이를 먹기를 바라지만, 소들은 좀처럼 협조하지 않는다.
존은 다음 규칙에 따라 소가 먹이를 먹도록 허락한다. 어떤 소는 자신이 가장 먼저 먹이를 먹도록 선택되었거나, 자신의 번호가 바로 직전에 먹이를 먹은 소의 번호보다 클 때에만 먹이를 먹을 수 있다. 먹이를 줄 소는 반드시 줄에 서 있는 순서(왼쪽에서 오른쪽)대로 골라야 하며, 중간의 소를 건너뛰는 것은 가능하다.
줄에 서 있는 소들의 번호 목록이 주어질 때, 존의 규칙에 따라 먹일 수 있는 소의 최대 마리 수를 구하여라.
예를 들어, 다음과 같이 11마리의 소가 줄을 서 있다고 하자.
2 5 18 3 4 7 10 9 11 8 15
이때 2, 3, 4, 7, 10, 11, 15 순서로 먹이면 총 7마리를 먹일 수 있으며, 이것이 가능한 최대 마리 수이다.
반면 2, 5, 3, 10, 15 순서로는 먹일 수 없다. 소 3의 번호가 바로 앞에서 먹은 소 5의 번호보다 크지 않기 때문이다.