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.
#include <bits/stdc++.h>
#include <vector>
#define ll long long
using namespace std;

int main()
{
    string s;
    vector<int> v;
    cin>>s;
    ll n =s.size(),x=1,y,ans=0;
    for(int i =0;i+3<n;i++){
        if(s[i]=='b' && s[i+1]='e' && s[i+2]='a' && s[i+3]='r'){
            v.push_back(i+1);
        }
    }
    for(int i=0;i<v.size();i++){
        y=n-v[i]-2;
        if (i)
        {
            x=v[i-1]+1;
        }
        x=v[i]-x+1;
        ans+=(x*y);
        
    }
    cout<<ans;
}
