The bear has a string *s* = *s*<sub class="lower-index">1</sub>*s*<sub class="lower-index">2</sub>... *s*<sub class="lower-index">|*s*|</sub> (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*) = *s*<sub class="lower-index">*i*</sub>*s*<sub class="lower-index">*i* + 1</sub>... *s*<sub class="lower-index">*j*</sub> 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 *s*<sub class="lower-index">*k*</sub> = *b*, *s*<sub class="lower-index">*k* + 1</sub> = *e*, *s*<sub class="lower-index">*k* + 2</sub> = *a*, *s*<sub class="lower-index">*k* + 3</sub> = *r*.

Help the bear cope with the given problem.
The first line contains a non-empty string *s* (1 ≤ |*s*| ≤ 5000). It is guaranteed that the string only consists of lowercase English letters.
# Author: wizplus
# TIme: 2020-08-27 23:28:35

import math
import bisect

def main():
  s = input()
  l = s.split('bear')
  nums = []
  start = 0
  for ll in l:
    start = start + len(ll) + 1
    end = min(start+3, len(s)+1)
    nums.append([start, end])
    start = end
  res = nums[0][0] * (nums[1][1] - nums[0][1])
  for i in range(1, len(nums)-1):
    res += (nums[i][0] - nums[i-1][0] + 1) * (nums[i+1][0] - nums[i][1])
  print(res)

if __name__ == "__main__":
  main()

