package main import . "fmt" import . "math/big" func main() { var s string Scan(&s) m := map[rune]int{} for _, ch := range s { m[ch]++ } n := int64(len(s)) ans := NewInt(1) for _, cnt := range m { k := int64(cnt) ans.Mul(ans, new(Int).Binomial(n, k)) n -= k } ans.Sub(ans, NewInt(1)) Println(ans) }