#5459. CSES1080 空字符串

0

CSES1080 空字符串

Empty String

You are given a string consisting of n characters between a and z. 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

1n5001 \le n \le 500

Example

Input

aabccb

Output

3