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
mod = 10**9 + 7
t = gets.to_i
while t > 0
s = gets.chomp
if s.include? 'j' or s.include? 'J' or s.include? 'u' or s.include? 'U' or s.include? 'w' or s.include? 'W'
puts "0"
else
m = n
n = s.length
count = []
i = 0
while s[i]!=nil
count << s.count(s[i])
s = s.gsub(s[i],"")
end
n = count.length
deno = 1
(0..n-1).each{ |i|
deno = deno * fact(count[i])
}
print "%d\n" %"#{(fact(m)/deno)%mod}"
end
t= t - 1
end
ZGVmIGNob29zZShtKQpzZWxmLmZhY3RvcmlhbCAvIChtLmZhY3RvcmlhbCAqIChzZWxmIC0gbSkuZmFjdG9yaWFsKQplbmQKZGVmIGZhY3QgKG4pCmlmIG4gPCAyCnJldHVybiAxCmVuZAooMi4ubikuaW5qZWN0KDEpIHsgfGYsIG58IGYgKiBuIH0KZW5kCm1vZCA9IDEwKio5ICsgNwp0ID0gZ2V0cy50b19pCndoaWxlIHQgPiAwCgpzID0gZ2V0cy5jaG9tcAppZiBzLmluY2x1ZGU/ICdqJyBvciBzLmluY2x1ZGU/ICdKJyBvciBzLmluY2x1ZGU/ICd1JyBvciBzLmluY2x1ZGU/ICdVJyBvciBzLmluY2x1ZGU/ICd3JyBvciBzLmluY2x1ZGU/ICdXJyAKcHV0cyAiMCIKZWxzZQoKbSA9IG4KbiA9IHMubGVuZ3RoCmNvdW50ID0gW10KaSA9IDAKd2hpbGUgc1tpXSE9bmlsCmNvdW50IDw8IHMuY291bnQoc1tpXSkKCnMgPSBzLmdzdWIoc1tpXSwiIikKCmVuZApuID0gY291bnQubGVuZ3RoCmRlbm8gPSAxCigwLi5uLTEpLmVhY2h7IHxpfApkZW5vID0gZGVubyAqIGZhY3QoY291bnRbaV0pCgoKfQoKcHJpbnQgIiVkXG4iICUiI3soZmFjdChtKS9kZW5vKSVtb2R9IgoKZW5kCnQ9IHQgLSAxCmVuZA==