You are given an integer sequence of length N, a = {a_1, a_2, …, a_N}, and an integer K.

a has N(N+1)/2 non-empty contiguous subsequences, {a_l, a_{l+1}, …, a_r} (1 ≤ l ≤ r ≤ N). Among them, how many have an arithmetic mean that is greater than or equal to K?

Constraints

* All input values are integers.
* 1 ≤ N ≤ 2 \times 10^5
* 1 ≤ K ≤ 10^9
* 1 ≤ a_i ≤ 10^9

Input

Input is given from Standard Input in the following format:


N K
a_1
a_2
:
a_N


Output

Print the number of the non-empty contiguous subsequences with an arithmetic mean that is greater than or equal to K.

Examples

Input

3 6
7
5
7


Output

5


Input

1 2
1


Output

0


Input

7 26
10
20
30
40
30
20
10


Output

13
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll,ll> pll;
ll bit[200010];
ll n;
void add(ll i,ll x){
  while(i<=n+1){
    bit[i]+=x;
    i+=i&(-i);
  }
}
ll summ(ll i){
  ll ret=0;
  while(i>0){
    ret+=bit[i];
    i-=i&(-i);
  }
  return ret;
}
int main(){
  ll k;cin>>n>>k;
  ll a[n];
  ll sum[n+1];
  fill(bit,bit+n+4,0);
  sum[0]=0;
  for(ll i=0;i<n;i++){
    cin>>a[i];
    sum[i+1]=sum[i]+a[i]-k;
  }
  ll num[n+1];
  vector<pll> v;
  ll b[n+1];
  for(ll i=0;i<n+1;i++)v.push_back(make_pair(sum[i],i));
  sort(v.begin(),v.end(),greater<pll>());
  for(ll i=0;i<n+1;i++){
    b[v[i].second]=i;
  }
  for(ll i=0;i<n+1;i++)b[i]++;
  //for(ll i=0;i<n+1;i++)cout<<b[i]<<" ";
  ll ans=0;
  for(ll i=1;i<n+2;i++){
    add(b[i-1],1);
    ans+=b[i-1]-summ(b[i-1]);
    //cout<<b[i-1]<<" "<<summ(b[i-1])<<endl;
  }
  cout<<ans<<endl;
}