aaaaabb
 aabaaaa
 babbabaabbbbabwbvbhbbbaaabbabbbbbbbkabbbbabaaabbbbbbajabbaaabazbbbzbalbabbwbbaabbabacabdbabbbfaaabbb
 baaahbbbba
 ababavvvv
 abnxabbaab
 krflnzhter
 amaabbbbxaabbbabaabaabbaaabaaaaabibbabaabaaabaabcaaxabablbbbbmbbbaaaaaabbaabbbaaabaaaababaababbabbbb
 babbbaaaaaabbbaabaaaaaoaabababaababaaaaababaaaaaaabbbbbbaaapaabaaabaaababaaaabaaaabaaaaababaaaabaaab

5
 14
 42467327
 7
 7
 11
 0
 98718509
 813881762

import java.lang.*;
import java.util.*;
import java.util.stream.*;

public class Program {

	public static Long mod = 1000000007L;

	public static void print(Object o) {
		System.out.println(o);
	}

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		String str = scanner.nextLine();
		List<String> list = Arrays.asList(str.split("[c-z]")).stream().filter(x -> !x.isEmpty()).collect(Collectors.toList());
		list.forEach(Program::print);
		Long result = 0L;
		for (String x: list) {
			List<String> part = Arrays.asList(x.split("b")).stream().filter(y -> !y.isEmpty()).collect(Collectors.toList());
			Long product = 1L;
			for (String y: part) { 
				product = product * new Long(y.length() + 1);
				product = product % mod;
			}
			result = result + product - 1;
			result = result % mod;
		}
		print(result);
	}
}