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):
        self.N = N
        self.bit = [0 for i in range(N+1)]
    def add(self, a, w):
        x = a
        while 1:
            self.bit[x] += w
            x += x & -x
            if x > self.N:
                break
    def sum(self, a):
        ret = 0
        x = a
        while 1:
            ret += self.bit[x]
            x -= x & -x
            if x <= 0:
                break
        return ret
    
def compress(arr):
    *XS, = set(arr)
    XS.sort()
    return {e: i for i, e in enumerate(XS)}

N, K = map(int, input().split())
a = []
B = []
sum_a = 0
for i in range(N):
    a_ = int(input())
    a.append(a_)
    sum_a += a_
    B.append(sum_a - K*(i+1))

B_C = compress(B)
ans = sum([1 for i in B if i >= 0])
B = [B_C [i]+1for i in B] # 1-indexed

N = max(B)
f_tree = BIT(N)
for i in B:
    ret = f_tree.sum(i)
    f_tree.add(i, 1)
    ans += ret
print(ans)