#其实就是计算出各个字母出现的次数,出现次数最多的字母的“漂亮度”最大(26),后面按次数依次递减
while True:
try:
n=int(input())
s=[]
for i in range(n):
s.append(input())
res=[0]*n
for i in range(n):
temp=set(list(s[i]))
d=[]
for j in temp:
d.append(s[i].count(j))#记录每个单词中每一个字母出现的次数
d.sort(reverse=True)#对每个字母出现的次数从大到小排序
for k in range(len(d)):
res[i]=res[i]+d[k]*(26-k)
for i in range(n):
print(res[i])
except:
break
#include <iostream>
#include <algorithm>
using namespace std;
int main(){
int n;
while(cin >> n){
while(n--){
string str;
cin >> str;
int i,temp[26]={0},k=26,res=0;
for(i=0;i<str.length();i++){
if(str[i]>='a' && str[i]<='z')
temp[str[i]-'a']++;
else
temp[str[i]-'A']++;
}
sort(temp,temp+26);
for(i=25;i>=0;i--){
res+=temp[i]*k--;
}
cout << res << endl;
}
}
return 0;
}