#include <bits/stdc++.h>
using namespace std;
const long long mod = 1000000007;
string itoa(int a) {
  ostringstream s;
  s << a;
  return s.str();
};
int atoi(string x) {
  int k(0);
  for (int i(0); i < x.size(); i++) k = k * 10 + (x[i] - '0');
  return k;
}
long long powmod(long long a, long long b) {
  long long res = 1;
  a %= mod;
  assert(b >= 0);
  for (; b; b >>= 1) {
    if (b & 1) res = res * a % mod;
    a = a * a % mod;
  }
  return res;
}
bool solve() {
  long long k(1);
  int A(0);
  int a(0);
  long long SUM = 0;
  char c = 'a';
  while (1) {
    scanf("%c", &c);
    if (c == '\n') break;
    if (c == 'a') {
      a++;
    } else {
      A += a;
      for (int j(A - a); j < A; j++) {
        k = k << 1;
        k %= mod;
      }
      SUM += k;
      SUM %= mod;
      SUM--;
      a = 0;
    }
  }
  cout << SUM;
  return 1;
}
int main() {
  solve();
  return 0;
}
