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
s = s.gsub("j","")
s = s.gsub("J","")
s = s.gsub("u","")
s = s.gsub("U","")
s = s.gsub("w","")
s = s.gsub("W","")
n = s.length
m = n
puts m
count = []
i = 0
while i < n
count << s.count(s[i])
i = i + s.count(s[i])
end
n = count.length
deno = 1
(0..n-1).each{ |i|
deno = deno * fact(count[i])
}
print "#{(fact(m)/deno)%mod}\n"
t= t - 1
end
CmRlZiBjaG9vc2UobSkKICAgIHNlbGYuZmFjdG9yaWFsIC8gKG0uZmFjdG9yaWFsICogKHNlbGYgLSBtKS5mYWN0b3JpYWwpCiAgZW5kCiAgZGVmIGZhY3QgKG4pCglpZiBuIDwJMgoJcmV0dXJuIDEgCgllbmQKICAgICgyLi5uKS5pbmplY3QoMSkgeyB8ZiwgbnwgZiAqIG4gfQogIGVuZAptb2QgPSAxMCoqOSArIDcgCnQgPSBnZXRzLnRvX2kKd2hpbGUgdCA+IDAgCgpzID0gZ2V0cy5jaG9tcApzID0gcy5nc3ViKCJqIiwiIikKcyA9IHMuZ3N1YigiSiIsIiIpCnMgPSBzLmdzdWIoInUiLCIiKQpzID0gcy5nc3ViKCJVIiwiIikKcyA9IHMuZ3N1YigidyIsIiIpCnMgPSBzLmdzdWIoIlciLCIiKQpuID0gcy5sZW5ndGgKbSA9IG4KcHV0cyBtCmNvdW50ID0gW10KaSA9IDAKd2hpbGUgaSA8IG4KY291bnQgPDwgcy5jb3VudChzW2ldKQoKaSA9IGkgKyBzLmNvdW50KHNbaV0pCmVuZApuID0gY291bnQubGVuZ3RoCmRlbm8gPSAxCigwLi5uLTEpLmVhY2h7IHxpfApkZW5vID0gZGVubyAqIGZhY3QoY291bnRbaV0pCgoKfQoKcHJpbnQgIiN7KGZhY3QobSkvZGVubyklbW9kfVxuIgp0PSB0IC0gMQplbmQ=