#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
int compare(const void* a, const void* b) {
return *(int *)b > *(int *)a;
}
int main(void) {
char str[10001] = {0};
int times = 0;
scanf("%d", ×);
while(times--) {
scanf("%s", str);
int map[26] = {0};
int length = strlen(str);
for (int i = 0; i < length; i++) {
if (islower(str[i]) != 0) {
int flag = str[i] - 'a';
map[flag]++;
} else {
int flag = str[i] - 'A';
map[flag]++;
}
}
qsort(map, 26, sizeof(int), compare);
int temp = 26;
int sums = 0;
for (int i = 0; i < 26; i++) {
if (map[i] > 0) {
sums += map[i] * temp;
temp--;
}
}
printf("%d\n", sums);
memset(str, 0, 10001);
}
return 0;
}
#include <ctype.h>
#include <stdlib.h>
int compare(const void* a, const void* b) {
return *(int *)b > *(int *)a;
}
int main(void) {
char str[10001] = {0};
int times = 0;
scanf("%d", ×);
while(times--) {
scanf("%s", str);
int map[26] = {0};
int length = strlen(str);
for (int i = 0; i < length; i++) {
if (islower(str[i]) != 0) {
int flag = str[i] - 'a';
map[flag]++;
} else {
int flag = str[i] - 'A';
map[flag]++;
}
}
qsort(map, 26, sizeof(int), compare);
int temp = 26;
int sums = 0;
for (int i = 0; i < 26; i++) {
if (map[i] > 0) {
sums += map[i] * temp;
temp--;
}
}
printf("%d\n", sums);
memset(str, 0, 10001);
}
return 0;
}