package oj.test;
import java.util.*;
import java.util.Scanner;
public class Demo4 {
/**
* @名字的漂亮度
* 给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。
* 每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮度”。字母忽略大小写。
* 给出多个名字,计算每个名字最大可能的“漂亮度”。
*
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
LinkedList<String> list = new LinkedList<String>();
while(sc.hasNext() && (a--)!=0){
list.add(sc.nextLine());
}
list.add(sc.nextLine());
//sop(list);
list.remove(0);
Iterator<String> it1 = list.iterator();
while(it1.hasNext()){
fun(it1.next());
}
}
private static void fun(String str) {
char[] chs = str.toCharArray();
TreeMap<Character,Integer> hm = new TreeMap<Character,Integer>();
int count=0;
for(int i=0;i<chs.length;i++){
Integer value = hm.get(chs[i]);
if(hm.containsKey(chs[i]))
count = value;
count++;
hm.put(chs[i], count);
count=0;
}
Set<Map.Entry<Character, Integer>> entrySet = hm.entrySet();
Iterator<Map.Entry<Character, Integer>> it = entrySet.iterator();
Integer[] arr = new Integer[hm.size()];
for(int i=0;it.hasNext();i++){
Map.Entry<Character, Integer> me = it.next();
arr[i] = me.getValue();
}
for(int i=0;i<arr.length-1;i++){
for(int j=0;j<arr.length-i-1;j++){
if(arr[j]<arr[j+1]){
int temp =arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
int sum = 0;
for(int i=0;i<arr.length;i++){
sum=sum+arr[i]*(26-i);
}
sop(sum);
}
private static void sop(Object obj) {
System.out.println(obj);
}
}