CSES - String Removals
  • Time limit: 1.00 s
  • Memory limit: 512 MB

You are given a string. You can remove any number of characters from it, but you cannot change the order of the remaining characters.

How many different strings can you generate?

Input

The first input line contains a string of size n. Each character is one of a–z.

Output

Print one integer: the number of strings modulo 10^9+7.

Constraints

  • 1 \le n \le 5 \cdot 10^5

Example

Input:

aybabtu

Output:

103