/*
Author:段廷银
Date:2015.10.05
Email:clickyeah@yeah.net
* /
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <memory.h>
char a[13]="abcdefghijkl";
char b[13];
char s[13];
int visited[13];
long jcs[13];
int cnt;
void dfs(int k) {
if(k==12) {
cnt++;
if(strcmp(b,s)==0) {
printf("%d\n",cnt);
}
return;
}
int i=0;
for(i=0;i<12;i++) {
if(visited[i]==0) {
visited[i]=1;
b[k]=a[i];
dfs(k+1);
visited[i]=0;
}
}
}
int jc(int n) {
if(n<=1) return 1;
else return n*jc(n-1);
}
int cal()
{
int sum=0;
int i;
for(i=0;i<12;i++) {
int t=0;
int j;
for(j=i+1;j<12;j++){
if(s[j]<s[i]) t++;
}
sum += t*jc(11-i);
}
return sum+1;
}
int main() {
int n;
while(scanf("%d",&n)!=EOF) {
int i;
for(i=0;i<n;i++) {
scanf("%s",s);
//memset(b,0,13*sizeof(char));
memset(visited,0,13*sizeof(int));
//dfs(0);
printf("%d\n",cal());
}
}
return 0;
}
/*
input:
3
abcdefghijkl
hgebkflacdji
gfkedhjblcia
output:
1
302715242
260726926
*/