题目描述
There is a string s consisting of a and b. Snuke can perform the following two kinds of operation any number of times in any order:
- Choose an occurrence of
aaas a substring, and replace it withb. - Choose an occurrence of
bbas a substring, and replace it witha.
How many strings s can be obtained by this sequence of operations? Find the count modulo 10^9 + 7.
Constraints
- $1 \leq |s| \leq 10^5$
- s consists of
aandb.
Input
Input is given from Standard Input in the following format:
s
Output
Print the number of strings s that can be obtained, modulo 10^9 + 7.
Examples
Input
aaaa
Output
6
Input
aabb
Output
5
Input
ababababa
Output
1
Input
babbabaaba
Output
35
输入格式
见题面
输出格式
见题面
样例输入
babbabaaba
样例输出
35