#include<bits/stdc++.h>
using namespace std;
#define FAST std::ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(0);
#define int long long
int N = 999983;
int modularExponentiation (int base, int exponent) {
int ans = 1;
while (exponent) {
if (exponent&1) {
ans *= base;
ans %= N;
}
base *= base;
base %= N;
exponent /= 2;
}
return ans;
}
int inv(int num) {
return (modularExponentiation(num, N-2));
}
int32_t main (){
FAST
int tc; cin >> tc;
while (tc--) {
string s; cin >> s;
map<char, int> freq;
for (auto &c : s)
++freq[c];
int Numerator = 1, denominator = 1;
for (int i = 1; i <= s.size(); ++i)
Numerator = ( (Numerator % N) * (i % N) ) % N;
for (auto &cur : freq) {
denominator = (denominator % N * inv(cur.second) % N) % N;
}
cout << Numerator * denominator << "\n";
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBGQVNUIHN0ZDo6aW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZShOVUxMKTsgY291dC50aWUoMCk7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwppbnQgTiA9IDk5OTk4MzsKaW50IG1vZHVsYXJFeHBvbmVudGlhdGlvbiAoaW50IGJhc2UsIGludCBleHBvbmVudCkgewogICAgaW50IGFucyA9IDE7CiAgICB3aGlsZSAoZXhwb25lbnQpIHsKICAgICAgICBpZiAoZXhwb25lbnQmMSkgewogICAgICAgICAgICBhbnMgKj0gYmFzZTsKICAgICAgICAgICAgYW5zICU9IE47CiAgICAgICAgfQogICAgICAgIGJhc2UgKj0gYmFzZTsKICAgICAgICBiYXNlICU9IE47CiAgICAgICAgZXhwb25lbnQgLz0gMjsKICAgIH0KCiAgICByZXR1cm4gYW5zOwp9CgppbnQgaW52KGludCBudW0pIHsKICAgIHJldHVybiAobW9kdWxhckV4cG9uZW50aWF0aW9uKG51bSwgTi0yKSk7Cn0KaW50MzJfdCBtYWluICgpewogICAgRkFTVAogICAgaW50IHRjOyBjaW4gPj4gdGM7CiAgICB3aGlsZSAodGMtLSkgewogICAgICAgIHN0cmluZyBzOyBjaW4gPj4gczsKICAgICAgICBtYXA8Y2hhciwgaW50PiBmcmVxOwogICAgICAgIGZvciAoYXV0byAmYyA6IHMpCiAgICAgICAgICAgICsrZnJlcVtjXTsKCiAgICAgICAgaW50IE51bWVyYXRvciA9IDEsIGRlbm9taW5hdG9yID0gMTsKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8PSBzLnNpemUoKTsgKytpKQogICAgICAgICAgICBOdW1lcmF0b3IgPSAoIChOdW1lcmF0b3IgJSBOKSAqIChpICUgTikgKSAlIE47CgogICAgICAgIGZvciAoYXV0byAmY3VyIDogZnJlcSkgewogICAgICAgICAgICBkZW5vbWluYXRvciA9IChkZW5vbWluYXRvciAlIE4gKiBpbnYoY3VyLnNlY29uZCkgJSBOKSAlIE47CiAgICAgICAgfQoKICAgICAgICBjb3V0IDw8IE51bWVyYXRvciAqIGRlbm9taW5hdG9yIDw8ICJcbiI7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==