#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
const int N=1e5+5;
const int mod=1e9+7;
int n,fg,sum[N],nxt[N][3],f[N],ans;
char str[N];
void Inc(int &x,int y){
	x+=y;x>=mod?x-=mod:x;
}
int main(){
	scanf("%s",str+1);n=strlen(str+1);
	for(int i=1;i<n;++i)fg|=(str[i]==str[i+1]);
	if(!fg)return puts("1"),0;
	for(int i=1;i<=n;++i)sum[i]=(sum[i-1]+(str[i]=='a'?1:2))%3;
	for(int i=n-1;~i;--i){
		for(int j=0;j<3;++j)nxt[i][j]=nxt[i+1][j];
		nxt[i][sum[i+1]]=i+1;
	}
	f[0]=1;
	for(int i=0;i<n;++i)
		for(int j=1;j<3;++j)
			if(nxt[i][(sum[i]+j)%3])
				Inc(f[nxt[i][(sum[i]+j)%3]],f[i]);
	for(int i=1;i<=n;++i)
		if(sum[i]==sum[n])
			Inc(ans,f[i]);
	printf("%d\n",ans);
	return 0;
}
