#include<stdio.h>
#include<string.h>
#include<math.h>
#include<queue>
#include<vector>
#include<iostream>
#include<string>
#include<set>
#include<map>
#include<algorithm>
using namespace std;
#pragma comment(linker, "/STACK:1024000000,1024000000")
#define nn 260
#define LL long long
#define ULL unsiged long long
#define mod 0x7fffffff
#define inf oxfffffffffff
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
// ((`'-"` `""-'`))
// ) - - (
// / (o _ o) \
// \ ( 0 ) /
// _'-.._ '=' _..-'_
// /`;#'#'#. -. #'#'#;`\
// \_)) '#' ((_/
// #. ☆ ☆ ☆ .#
// '#. 求 A C! .#'
// /'#. .#'\
// _\\'#. .#'//_
// (((___)'#'(___)))
int a[nn],len,f[nn];
int calc(int k)//验证答案
{
memset(f,0,sizeof(f));
int sum=0;
bool fuck;
for(int i=0;i<10;i++)//枚举最终整个序列的值
{
sum=0;
for(int j=0;j+k<=len;j++)
{
f[j]=(i-(a[j]+sum)%10+20)%10;
sum+=f[j];
if(j-k+1>=0)
sum-=f[j-k+1];
}
fuck=false;
for(int j=len-k+1;j<len;j++)
{
if((a[j]+sum)%10!=i)
{
fuck=true;
break;
}
if(j-k+1>=0)
sum-=f[j-k+1];
}
if(!fuck) return k;
}
return -1;
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
char s[nn];
scanf("%s",s);
len=strlen(s);
for(int i=0;i<len;i++)
a[i]=s[i]-'0';
for(int k=len;k>=1;k--)//枚举答案
{
int v=calc(k);
if(v!=-1)
{
printf("%d\n",k);
break;
}
}
}
return 0;
}