#include<cstdio>
const int mod=1000000007;
char s[100010];
int n,a[100010],f[100010],nxt[3];
int main(){
	scanf("%s",s);
	while(s[n])a[n+1]=(a[n]+s[n]-'a'+1)%3,n++;
	bool fl=1;
	for(int i=1;i<n;i++)if(s[i]==s[i-1])fl=0;
	if(fl)return puts("1"),0;
	f[n]=1;
	for(int i=0;i<3;i++)nxt[i]=i==a[n]?n:n+1;
	for(int i=n;i--;){
		f[i]=i&&a[i]==a[n];
		for(int c=0;c<2;c++)(f[i]+=f[nxt[(a[i]+c+1)%3]])%=mod;
		nxt[a[i]]=i;
	}
	printf("%d\n",*f);
}