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
class BIT():
  def __init__(self,n):# 0-indexed
    self.n=n
    self.bit=[0]*(n+1)
  def add(self,i,x):
    i+=1
    while i<=self.n:
      self.bit[i]+=x
      i+=i&-i
  def _sum(self,i):
    s=0
    while i>0:
      s+=self.bit[i]
      i-=i&-i
    return s
  def get(self,i,j):# get sum between [i,j)
    return self._sum(j)-self._sum(i)
n,k=map(int,input().split())
a=[int(input()) for i in range(n)]
cumsum_a=[0]*(n+1)
for i in range(n):
  cumsum_a[i+1]=cumsum_a[i]+a[i]
for i in range(n+1):
  cumsum_a[i]-=k*i
  
def compress(list1):
  list2=sorted(set(list1))
  memo={value:index for index,value in enumerate(list2)}
  for i in range(len(list1)):
    list1[i]=memo[list1[i]]
  return list1
cumsum_a=compress(cumsum_a)
bit=BIT(n+1)
ans=0
for i in range(n+1):
  ans+=bit.get(0,cumsum_a[i]+1)
  bit.add(cumsum_a[i],1)
print(ans)