Đếm số hoán vị lặp


Submit solution

Points: 3
Time limit: 2.0s
Memory limit: 98M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Cho một xâu ký tự hãy đếm xem có bao nhiêu hoán vị khác nhau của xâu này

Input

Dòng đầu là số bộ kiểm thử \(t (1 \le t \le 10)\)

Tiếp theo \(t\) dòng mỗi dòng một xâu ký tự chỉ gồm các chữ hoa Tiếng Anh có độ dài không vượt quá \(10^5\)

Output

Tương ứng với mỗi dòng là số hoán vị khác nhau, vì có thể số quá lớn ta chỉ lấy phần dư của kết quả cho \(1000000007 (10^9+7)\)

Ví dụ

Input

2
COCA
BANANA

Output

12
60

Giải thích

Từ COCA có 12 hoán vị khác nhau

ACCO
ACOC
AOCC
CACO
CAOC
CCAO
CCOA
COAC
COCA
OACC
OCAC
OCCA
tichpx

Comments


  • 0
    No_Limit  commented on Jan. 13, 2023, 6:55 a.m. edited

    (A / B) % MOD = ((A % MOD) * (B^(MOD - 2) % MOD)) % MOD