#include<bits/stdc++.h>
using namespace std;
const int MOD=1e9+7;
int add(int a,int b){
	return (a+b)%MOD;
}
const int N=100100;
int n;
char s[N];
int a[N]={0};
int z1[N]={0};
int z2[N]={0};
int main(){
	scanf("%s",s);
	n=strlen(s);
	for(int i=0;i<n;i++){
		a[i]=s[i]=='a'?1:2;
	}

	int cur=0;
	int bb=false;
	int qwq;
	for(int i=n;i>=0;i--){
		bool e=a[i]==a[i+1];
		if(e){
			qwq=i+2;
			if(i<n){
				bb=true;
			}
		}
		z1[i]=add((e?z2:z1)[i+1],z2[qwq]);
		z2[i]=add(z2[i+1],z2[qwq]);
		cur=(cur+a[i])%3;
		if(cur==0){
			z2[i]=add(z2[i],1);
			if(i==n||(bb&&i>0)){
				z1[i]=add(z1[i],1);
			}
		}
	}
	int ans=z1[0];
	printf("%d\n",ans);
	return 0;
}