#include<bits/stdc++.h>
using namespace std;

const int maxn=1e5+10,mod=1e9+7;
int n,sum[maxn],dp[maxn],last[3]={0,-1,-1};
char s[maxn];

int main(){
	cin>>(s+1);
	n=strlen(s+1);
	for(int i=2;i<=n;++i)
		if(s[i-1]==s[i])
			goto dy;
	puts("1");
	return 0;
dy:
	dp[0]=1;
	for(int i=1;i<=n;++i){
		sum[i]=sum[i-1]+(s[i]=='a'?1:2);
		if(sum[i]%3==0&&i<n)
			dp[i]=1;
		for(int j=1;j<=2;++j){
			int x=last[(sum[i]+3-j)%3];
			if(~x)
				(dp[i]+=dp[x])%=mod;
		}
		last[sum[i]%3]=i;
	}
	cout<<dp[n]<<endl;
	return 0;
}