/*
题意:给定一个字符串,让你构造一个字符串使得两个字符串的最长公共自序列
尽可能短,输出最短长度
类型:思维
分析:找二十六个字母中出现次数最少的,就是答案,每次构造的字符串全部用出现
最少的字符填满,如果存在没出现的字符,那长度显然为0
*/
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
char s[100005];
int a[26];
int main()
{
int t;cin>>t;
for(int ik=1;ik<=t;ik++){
memset(a,0,sizeof(a));
scanf("%s",s);
int len=strlen(s);
for(int i=0;i<len;i++){
a[s[i]-'a']++;
}
int Min=0x7fffffff;
for(int i=0;i<26;i++){
if(a[i]<Min)Min=a[i];
}
printf("Case %d: %d\n",ik,Min);
}
return 0;
}