//记忆式搜索 
#include <iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
char a[10002];
int b[10002];
int n,ans;
int f(int x)
{
 int i,t;
 if(b[x]>0) return b[x];
 b[x]=1;
 for(i=0;i<=x-1;i++)
 {
 t=f(i);
 if(a[i]<a[x] && b[x]<t+1) b[x]=t+1;
 }
 return b[x];
}
int main( )
{
int i,j,len;
cin>>n;
for(i=1;i<=n;i++)
{
 scanf("%s",a);
 len=strlen(a) ;
 for(j=0;j<len;j++) b[j]=-1; // 设置一个不可能出现的结果
 f(len-1);
 ans=1;
 for(j=0;j<len;j++)
 if(ans<b[j]) ans=b[j];
 cout<<ans<<endl ;
} 
}
 



