atcoder#AGC027E. [AGC027E] ABBreviate
[AGC027E] ABBreviate
Score : points
Problem Statement
There is a string 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
aa
as a substring, and replace it withb
. - Choose an occurrence of
bb
as a substring, and replace it witha
.
How many strings can be obtained by this sequence of operations? Find the count modulo .
Constraints
- consists of
a
andb
.
Input
Input is given from Standard Input in the following format:
Output
Print the number of strings that can be obtained, modulo .
aaaa
6
Six strings can be obtained:
aaaa
aab
aba
baa
bb
a
aabb
5
Five strings can be obtained:
aabb
aaa
bbb
ab
ba
ababababa
1
Snuke cannot perform any operation.
babbabaaba
35