C. Орехус и строка
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Орехус нашел строку $$$s$$$, состоящую из латинских букв нижнего регистра. Орехус любознательный парень, поэтому ему стал интересен следующий вопрос: сколько существует строго возрастающих последовательностей $$$p_1, p_2, \ldots, p_k$$$ таких, что:

  1. Для каждого $$$i$$$ ($$$1 \leq i \leq k$$$), $$$s_{p_i} =$$$ 'a'.
  2. Для каждого $$$i$$$ ($$$1 \leq i < k$$$), существует $$$j$$$, что $$$p_i < j < p_{i + 1}$$$ и $$$s_j =$$$ 'b'.

Удовлетворите любопытство Орехуса, или он расстроится.

Это число должно быть посчитано по модулю $$$10^9 + 7$$$.

Входные данные

В первой строке входных данных находится строка $$$s$$$ ($$$1 \leq |s| \leq 10^5$$$) из латинских букв нижнего регистра.

Выходные данные

В единственной строке выведите ответ — число искомых последовательностей $$$p_1, p_2, \ldots, p_k$$$ по модулю $$$10^9 + 7$$$.

Примеры
Входные данные
abbaa
Выходные данные
5
Входные данные
baaaa
Выходные данные
4
Входные данные
agaa
Выходные данные
3
Примечание

В первом примере $$$5$$$ допустимых последовательностей. $$$[1]$$$, $$$[4]$$$, $$$[5]$$$, $$$[1, 4]$$$, $$$[1, 5]$$$.

Во втором примере $$$4$$$ допустимых последовательности. $$$[2]$$$, $$$[3]$$$, $$$[4]$$$, $$$[5]$$$.

В третьем примере $$$3$$$ допустимых последовательности. $$$[1]$$$, $$$[3]$$$, $$$[4]$$$.