#include <bits/stdc++.h>
using namespace std;
const int mod=1e9+7;
const int N=100050;
void add(int &x, int y){ x+=y;if(x>=mod) x-=mod;}
char s[N];
int dp[N],nxa[N],nxb[N],lst[3],pre[N];
int main()
{
	int n,i;
	scanf("%s",s+1);
	n=strlen(s+1);
	int ok=0;
	for(i=1;i<n;i++) if(s[i]==s[i+1]) ok=1;
	if(!ok) return 0*printf("1\n");
	for(i=1;i<=n;i++) pre[i]=(pre[i-1]+s[i]-'a'+1)%3;
	for(i=n;i>=0;i--) nxa[i]=lst[(pre[i]+1)%3],nxb[i]=lst[(pre[i]+2)%3],lst[pre[i]]=i;
	dp[0]=1;
	for(i=0;i<n;i++) add(dp[nxa[i]],dp[i]),add(dp[nxb[i]],dp[i]);
	int sum=0;
	for(i=1;i<=n;i++) if(pre[i]==pre[n]) add(sum,dp[i]);
	printf("%i\n",sum);
	return 0;
}