[AGC027E] ABBreviate

题意翻译

给定一个只含小写字母 $\mathtt{a}, \mathtt{b}$ 的字符串 $s$,每次你可以执行以下两种操作: 1. 选取 $s$ 中连续的两个字符 $\mathtt{aa}$,把它们删去,替换成一个字符 $\mathtt{b}$。 2. 选取 $s$ 中连续的两个字符 $\mathtt{bb}$,把它们删去,替换成一个字符 $\mathtt{a}$。 请你求出执行若干次操作后,能够得到的本质不同的字符串有多少个,答案对 $({10}^9 + 7)$ 取模。 - $1 \le |s| \le {10}^5$。

题目描述

[problemUrl]: https://atcoder.jp/contests/agc027/tasks/agc027_e `a` と `b` のみからなる文字列 $ s $ があります。 すぬけ君は、次の $ 2 $ 種類の操作を任意の順序で任意の回数だけ行えます。 - $ s $ 中の部分文字列 `aa` を一箇所選び、`b` へ置き換える。 - $ s $ 中の部分文字列 `bb` を一箇所選び、`a` へ置き換える。 $ 0 $ 回以上の操作の後、$ s $ は何通りありうるでしょうか? $ 10^9\ +\ 7 $ で割った余りを求めてください。

输入输出格式

输入格式


入力は以下の形式で標準入力から与えられる。 > $ s $

输出格式


操作後の $ s $ は何通りありうるか? $ 10^9\ +\ 7 $ で割った余りを出力せよ。

输入输出样例

输入样例 #1

aaaa

输出样例 #1

6

输入样例 #2

aabb

输出样例 #2

5

输入样例 #3

ababababa

输出样例 #3

1

输入样例 #4

babbabaaba

输出样例 #4

35

说明

### 制約 - $ 1\ \leq\ |s|\ \leq\ 10^5 $ - $ s $ は `a` と `b` のみからなる。 ### Sample Explanation 1 次の $ 6 $ 通りです。 - `aaaa` - `aab` - `aba` - `baa` - `bb` - `a` ### Sample Explanation 2 次の $ 5 $ 通りです。 - `aabb` - `aaa` - `bbb` - `ab` - `ba` ### Sample Explanation 3 すぬけ君は一度も操作を行えません。