**Time limit:**1.00 s**Memory limit:**512 MB

On each turn, you may remove any two adjacent characters that are equal. Your goal is to construct an empty string by removing all the characters.

In how many ways can you do this?

**Input**

The only input line has a string of length $n$.

**Output**

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

**Constraints**

- $1 \le n \le 500$

**Example**

Input:

`aabccb`

Output:

`3`