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
import itertools
import bisect

n, k = map(int, input().split())
a = [int(input()) for _ in range(n)]

cs = [0] + list(itertools.accumulate(a))

b = [v - k * i for i, v in enumerate(cs)]
# print(b)
#
# import numpy as np
# np.random.seed(1)
# b = list(np.random.randint(10, 20, size=10))

tmp = b.copy()
tmp.sort()
c = [bisect.bisect_left(tmp, v) for v in b]
n = len(c)

BIT = [0] * (n + 2)

up = lambda node: node + (node & (-node))
def add(x, p):
    p += 1
    while p <= n:
        BIT[p] += x
        p = up(p)

def find(p):
    p += 1
    s = 0
    while p:
        s += BIT[p]
        p -= p & (-p)
    return s


# print(c)
s = 0
for v in c:
    s += (find(v))
    add(1, v)
print(s)
