# 13345 - Domo run!
## Brief
Calculate the distance between the minimum one in the alphabetical order and the original name.
## Input
The first line contains an integer T - the number of participants in this race.
For the following T lines, each line contains a string S - the name of each participant.
The variable range of each test case is different.
For the test case 1 ~ 2, $1 ≤ T ≤ 10^2$, 1 ≤ the length of S ≤ 5.
For the test case 3 ~ 6, $1 ≤ T ≤ 10^3$, 1 ≤ the length of S ≤ 8.
For the test case 7 ~ 8, $1 ≤ T ≤ 10^4$, 1 ≤ the length of S ≤ 15.
Note that each participant's name is in lower case, and will not have any repetitive letters.
## Output
Print the distance each participant needs to run one per line.
## Solution
```c=
//by 莊景堯
#include <stdio.h>
#include <string.h>
long long ans;
int len;
char str[26], order[26];
long long permutation(long long i)
{
if (i <= 1)
return 1;
return i * permutation(i-1);
}
int main()
{
int t;
scanf("%d", &t);
while (t--)
{
ans = 0;
for (int i = 0; i < 26; i++) order[i] = 0;
scanf("%s", str);
len = strlen(str);
for (int i = 0; i < len; i++)
for (int k = str[i] - 'a' + 1; k < 26; k++)
order[k]++;
for (int i = 0; i < len; i++)
{
ans += order[str[i] - 'a'] * permutation(len - i - 1);
for (int k = str[i] - 'a' + 1; k < 26; k++)
if (order[k] != 0)
order[k]--;
}
printf("%lld\n", ans);
}
}
```