#include<stdlib.h>
#include<stdio.h>
using namespace std;
int t;
char data[55];
int flag[26];//标记所有字母是否出现过
int num1;
int num2;
int num;
int main()
{
scanf("%d",&t);
char temp;
scanf("\n");
for(int i = 0; i < t; i ++)
{
scanf("%c",&temp);
int j = 0 ;
while(temp != '\n')
{
data[j ++] = temp;
flag[temp - 'a'] ++;//标记字母出现次数
scanf("%c",&temp);
}//数据输入
if(j == 1)
printf("0\n");//输入为1个字符
else
{
for(int k = 0; k < 26; k ++)
{
if(flag[k] == 1)//就出现了一次,为了保证红和绿相等,不管是奇数还是偶数都除2即可
num1 ++;
else if(flag[k] > 1)//出现多次,那么一定可以涂色,且一定能保证红=绿
num2 ++;
flag[k] = 0;//顺便请0
}
num = num2 + num1 / 2;
printf("%d\n",num);
num1 = 0;
num2 = 0;
num = 0;
j = 0;
}
}
return 0;
}