1808.Minimum number of steps

Time Limit: 1s Memory Limit: 256MB

We have a string of letters 'a' and 'b'. We want to perform some operations on it. On each step we choose one of substrings "ab" in the string and replace it with the string "bba". If we have no "ab" as a substring, our job is done. Print the minimum number of steps we should perform to make our job done modulo 109+7.

The string "ab" appears as a substring if there is a letter 'b' right after the letter 'a' somewhere in the string.

Input Format(From the terminal/stdin)

The first line contains the initial string consisting of letters 'a' and 'b' only with length from 1 to 106.

Output Format(To the terminal/stdout)

Print the minimum number of steps modulo 109+7.

Sample Input 1

Copy
ab
  \n

Sample Output 1

Copy
1
 \n

Sample Input 2

Copy
aab
   \n

Sample Output 2

Copy
3
 \n

Hints

The first example: "ab" \rightarrow "bba".

The second example: "aab" \rightarrow "abba" \rightarrow "bbaba" \rightarrow "bbbbaa".

Submit

请先 登录

© 2025 FAQs