- Time limit: 1.00 s
- Memory limit: 512 MB
Calculate the number of ways you can reorder the characters of a string so that no two adjacent characters are the same.
For example, the answer for aabc
is 6, because the possible orders are abac
, abca
, acab
, acba
, baca
, and caba
.
Input
The only input line has a string that consists of n characters between a
–z
.
Output
Print an integer: the answer modulo 10^9+7.
Constraints
- 1 \le n \le 5000
Example
Input:
aabc
Output:
6