Problem: The bear has a string s = s1s2... s|s| (record |s| is the string's length), consisting of lowercase English letters. The bear wants to count the number of such pairs of indices i, j (1 ≤ i ≤ j ≤ |s|), that string x(i, j) = sisi + 1... sj contains at least one string "bear" as a substring.

String x(i, j) contains string "bear", if there is such index k (i ≤ k ≤ j - 3), that sk = b, sk + 1 = e, sk + 2 = a, sk + 3 = r.

Help the bear cope with the given problem.

Input

The first line contains a non-empty string s (1 ≤ |s| ≤ 5000). It is guaranteed that the string only consists of lowercase English letters.

Output

Print a single number — the answer to the problem.

Examples

Input

bearbtear


Output

6


Input

bearaabearc


Output

20

Note

In the first sample, the following pairs (i, j) match: (1, 4), (1, 5), (1, 6), (1, 7), (1, 8), (1, 9).

In the second sample, the following pairs (i, j) match: (1, 4), (1, 5), (1, 6), (1, 7), (1, 8), (1, 9), (1, 10), (1, 11), (2, 10), (2, 11), (3, 10), (3, 11), (4, 10), (4, 11), (5, 10), (5, 11), (6, 10), (6, 11), (7, 10), (7, 11).

Solution (in JAVA):

Solution:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.Arrays;
import java.util.StringTokenizer;

/* ------------ Theorems and Lemmas ------------ */

// Fermat's Little Theorem
// (1) ((a ** p) - a) % p = 0; if 'p' is prime
// (2) Further, if 'a % p != 0', then ((a ** (p - 1)) - 1) % p = 0

/* -------------- End of theorems -------------- */

public class Solution {

	// Digit DP
	private static int digit;
	private static int times;
	private static StringBuilder number;
	private static int[][][] digitDP;
	// End

	public static void main(String[] args) {
		FastReader reader = new FastReader();
		String line = reader.nextLine();
		reader.close();
		long cnt = 0;
		int lastIndex = -1;
		for (int i = 0; i < line.length() - 3; ++i)
			if (line.substring(i, i + 4).equals("bear")) {
				cnt += (long) (i - Math.max(0, lastIndex) + 1) * (line.length() - i - 3);
				lastIndex = i + 1;
			}
		System.out.println(cnt);
	}

	// Digit DP
	public static int ddp(int n) {
		number = new StringBuilder(String.valueOf(n));
		digitDP = new int[12][12][2];
		for (int[][] a : digitDP)
			for (int[] b : a)
				Arrays.fill(b, -1);
		return call(0, 0, 0);
	}

	// Digit DP
	public static int call(int pos, int cnt, int f) {
		if (cnt > times)
			return 0;
		if (pos == number.length())
			return cnt == times ? 1 : 0;
		if (digitDP[pos][cnt][f] != -1)
			return digitDP[pos][cnt][f];
		int res = 0;
		int lmt = f == 0 ? number.charAt(pos) - '0' : 9;
		for (int dgt = 0; dgt <= lmt; ++dgt)
			if ((dgt == digit ? 1 + cnt : cnt) <= times)
				res += call(1 + pos, dgt == digit ? 1 + cnt : cnt, f == 0 && dgt < lmt ? 1 : f);
		digitDP[pos][cnt][f] = res;
		return res;
	}

	// Binary Exponentiation
	public static long binpow(long a, long n, long mod) {
		// Iterative approach
		a %= mod;
		long result = 1l;
		while (n > 0l) {
			if ((n & 1l) != 0l)
				result = result * a % mod;
			a = a * a % mod;
			n >>= 1l;
		}
		return result;

		// Recursive approach
		/*
		 * if (n == 0l) return 1l; long res = binpow(a, n / 2, mod); if ((n & 1l) != 0l)
		 * return ((res % mod) * (res % mod) * (a % mod)) % mod; else return ((res %
		 * mod) * (res % mod)) % mod;
		 */
	}

	// GCD
	public static int gcd(int a, int b) {
		while (b > 0) {
			a %= b;
			int t = a;
			a = b;
			b = t;
		}
		return a;
	}

	static class FastReader {
		BufferedReader br;
		StringTokenizer st;

		public FastReader() {
			br = new BufferedReader(new InputStreamReader(System.in));
		}

		String next() {
			while (st == null || !st.hasMoreElements()) {
				try {
					st = new StringTokenizer(br.readLine().trim());
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			return st.nextToken();
		}

		int nextInt() {
			return Integer.parseInt(next());
		}

		long nextLong() {
			return Long.parseLong(next());
		}

		float nextFloat() {
			return Float.parseFloat(next());
		}

		double nextDouble() {
			return Double.parseDouble(next());
		}

		String nextLine() {
			StringBuilder str = new StringBuilder("");
			try {
				str.append(br.readLine().trim());
			} catch (IOException e) {
				e.printStackTrace();
			}
			return str.toString();
		}

		int[] readArray(int size) {
			int[] ar = new int[size];
			for (int i = 0; i < size; ++i)
				ar[i] = nextInt();
			return ar;
		}

		void close() {
			try {
				br.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}