#include<stdio.h>
#include<string.h>
const int mod=1000000007;
void inc(int&a,int b){(a+=b)%=mod;}
char s[100010];
int sum[100010],f[300010],las[3]={0,-1,-1};
int main(){
	int n,i;
	scanf("%s",s+1);
	n=strlen(s+1);
	for(i=1;i<n;i++){
		if(s[i]==s[i+1]){
			i=-1;
			break;
		}
	}
	if(~i){
		putchar('1');
		return 0;
	}
	f[0]=1;
	for(i=1;i<=n;i++){
		sum[i]=(sum[i-1]+2-(s[i]=='a'))%3;
		if(sum[i]==0&&i<n)f[i]=1;
		#define gao(x) if(~x)inc(f[i],f[x]);
		gao(las[(sum[i]+1)%3])
		gao(las[(sum[i]+2)%3])
		las[sum[i]]=i;
	}
	printf("%d",f[n]);
}