#bitflyer2018qualc. [bitflyer2018_qual_c]徒歩圏内

[bitflyer2018_qual_c]徒歩圏内

问题描述

NN 个城市,编号为 1,2,...,N1, 2, ..., N。这些城市按顺序排列在一条直线上。对于每个 ii (1iN1 \leq i \leq N),城市 ii 的坐标是 XiX_i

高桥君选择以下方式来移动从城市 ii 到城市 jj(包括城市 iijj):

  • 如果城市 ii 和城市 jj 的距离 XiXj|X_i - X_j| 小于等于 DD,则步行移动。
  • 否则,乘坐电车移动。

请找出满足以下条件的城市三元组 (i,j,k)(i, j, k) 的数量:

  • i<j<ki < j < k
  • 高桥君步行从城市 ii 到城市 jj,步行从城市 jj 到城市 kk,乘坐电车从城市 ii 到城市 kk

约束条件

  • 3N1053 \leq N \leq 10^5
  • 0Xi1090 \leq X_i \leq 10^91iN1 \leq i \leq N
  • Xi<Xi+1X_i < X_{i + 1}1i<N1 \leq i < N
  • 0D1090 \leq D \leq 10^9

输入

输入将从标准输入读取,具有以下格式。

NN DD X1X_1 X2X_2 ...... XNX_N

输出

请输出答案。


示例 1

5 7
11 13 17 19 23

输出示例 1

5

满足条件的城市三元组 (i,j,k)(i, j, k) 包括 (1,2,4)(1, 2, 4)(1,3,4)(1, 3, 4)(1,3,5)(1, 3, 5)(2,3,5)(2, 3, 5)(2,4,5)(2, 4, 5) 共计 5 个。


示例 2

4 10
0 3 6 10

输出示例 2

0

示例 3

6 36
0 5 32 48 69 71

输出示例 3

4

示例 4

6 405885562
133510576 158828561 245133494 461153833 840383806 867039395

输出示例 4

6