#include<iostream>using namespace std;int a[40001],b[40001];int n;int find(int s,int value){ int i=0,k; while(i<=s) { k=(i+s)>>1; if(b[k]>value) s=k-1; else i=k+1; } return s;}void read(){ int i,j,k; cin>>k; while(k--){ cin>>n; for(i=0;i<n;i++) cin>>a[i]; int m=0; b[0]=a[0]; for(i=1;i<n;i++) { j=find(m,a[i]); b[j+1]=a[i]; if(j+1>m) m=j+1; } cout<<m+1<<endl; }}int main(){ read(); return 0;}


