# -*- coding: utf-8 -*- 
# @project : 《Atcoder》
# @Author : created by bensonrachel on 2021/8/27
# @File : TPM(step3)C. Che city(CF).py
def TPM():
    l = 0
    res = 0
    for r in range(n):
        while (rate[r] - rate[l] > s):
            l += 1
        res += l
    return res

"""
本题中的数组是有序的!

代码非常简单,也是按照Step2的A题代码框架来修改。

不过注意问题的性质发生了改变:
本题是求数组中最大值和最小值的差值一定要大于r的区间个数
又因为数组是连续的,所以最大值取区间的最后一个和最小值取区间的第一个即可:rate[r] - rate[l]

而且正因为数组有序,所以枚举r,维护一个最小的l的时候,l前面的(不包括l)都是可以的区间左端点,所以需要累加l。

注意:是符合条件就进入while循环,l前进到不符合就退出来,说明此时的l的前面全部区间左端点都是符合条件的,可以累加,这样就不会算重复的区间个数。
"""
if __name__ == "__main__":
    n, s = map(int, input().split())
    rate = [int(i) for i in input().split()]
    print(TPM())