#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
const int N = 3e5;
char st[N];
int F[N], nxt[N];
int su, ans, n;
void ADD(int &t, int d) {
  t += d;
  if (t >= MOD) t -= MOD;
}
int main() {
  scanf("%s", st + 1);
  n = strlen(st + 1);
  for (int i = 1, j = 1; i <= n; ++i) {
    j = max(j, i);
    while (j < n && st[j + 1] != st[j]) j++;
    for (int k = i; k <= j; ++k) nxt[k] = j;
  }
  if (nxt[1] == n) {
    printf("%d\n", 1);
    return 0;
  }
  F[0] = 1;
  for (int i = 1; i <= n; ++i) {
    ADD(F[i], F[i - 1]);
    ADD(F[nxt[i] + 1], F[i - 1]);
  }
  for (int i = n, su = 0; i >= 1; --i) {
    if (su % 3 == 0) ADD(ans, F[i]);
    su += st[i] - 'a' + 1;
  }
  printf("%d\n", ans);
}
