def choose(m)
self.factorial / (m.factorial * (self - m).factorial)
end
def fact (n)
if n < 2
return 1
end
(2..n).inject(1) { |f, n| f * n }
end
t = gets.to_i
while t > 0
s = gets.chomp
n = s.length
count = []
while i < n
count << s.count(s[i])
t = s.count(s[i])
s = s.gsub(s[i],"")
i = i + t
end
n = count.length
deno = 1
(0..n-1).each{ |i|
deno = deno * fact(count[i])
puts fact(count[i])
}
puts "#{fact(n)}"
t= t - 1
end
ZGVmIGNob29zZShtKQogICAgc2VsZi5mYWN0b3JpYWwgLyAobS5mYWN0b3JpYWwgKiAoc2VsZiAtIG0pLmZhY3RvcmlhbCkKICBlbmQKICBkZWYgZmFjdCAobikKCWlmIG4gPAkyCglyZXR1cm4gMSAKCWVuZAogICAgKDIuLm4pLmluamVjdCgxKSB7IHxmLCBufCBmICogbiB9CiAgZW5kCgp0ID0gZ2V0cy50b19pCndoaWxlIHQgPiAwIAoKcyA9IGdldHMuY2hvbXAKbiA9IHMubGVuZ3RoCmNvdW50ID0gW10Kd2hpbGUgaSA8IG4KY291bnQgPDwgcy5jb3VudChzW2ldKQp0ID0gcy5jb3VudChzW2ldKQpzID0gcy5nc3ViKHNbaV0sIiIpCmkgPSBpICsgdAplbmQKbiA9IGNvdW50Lmxlbmd0aApkZW5vID0gMQooMC4ubi0xKS5lYWNoeyB8aXwKZGVubyA9IGRlbm8gKiBmYWN0KGNvdW50W2ldKQpwdXRzIGZhY3QoY291bnRbaV0pCn0KcHV0cyAiI3tmYWN0KG4pfSIKdD0gdCAtIDEKZW5k