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,size):
        self.size=size
        self.node=[0]*(size+1)

    def sum(self,idx):
        ret=0
        while idx>0:
            ret+=self.node[idx]
            idx-=idx&(-idx)
        return ret

    def add(self,idx,x):
        while idx<=self.size:
            self.node[idx]+=x
            idx+=idx&(-idx)

n,k=map(int,raw_input().split())
a=[int(raw_input()) for _ in xrange(n)]
diff=[]
for i in xrange(n):
    diff.append(a[i]-k)
for i in xrange(n-1):
    diff[i+1]+=diff[i]
bit=BIT(n)
s=set([])
for i in xrange(n):
    bit.add(i+1,1)
    s.add(diff[i])
li=list(s)
li.sort()
d={}
for i in xrange(len(li)):
    d[li[i]]=i
pos=[[] for _ in xrange(len(li))]
for i in xrange(n):
    idx=d[diff[i]]
    pos[idx].append(i+1)
ans=0
for i in xrange(len(li)):
    for j in pos[i]:
        ans+=bit.sum(n)-bit.sum(j)
        if diff[j-1]>=0:
            ans+=1
        bit.add(j,-1)
print ans
