Codeforces Round 153 (Div. 1)
A
Points on Line
Codeforces
1300
原题
←B →
翻译中…

Little Petya likes points a lot. Recently his mom has presented him $*n*$ points lying on the line $*OX*$. Now Petya is wondering in how many ways he can choose three distinct points so that the distance between the two farthest of them doesn't exceed $*d*$.

翻译中…

Note that the order of the points inside the group of three chosen points doesn't matter.

翻译中…

Input

翻译中…

The first line contains two integers: $*n*$ and $*d*$ ($1 ≤ *n* ≤ 10^{5}; 1 ≤ *d* ≤ 10^{9}$). The next line contains $*n*$ integers $*x*_{1}, *x*_{2}, ..., *x*_{*n*}$, their absolute value doesn't exceed $10^{9}$ — the $*x*$-coordinates of the points that Petya has got.

翻译中…

It is guaranteed that the coordinates of the points in the input strictly increase.

翻译中…

Output

翻译中…

Print a single integer — the number of groups of three points, where the distance between two farthest points doesn't exceed $*d*$.

翻译中…

Please do not use the %lld specifier to read or write 64-bit integers in С++. It is preferred to use the cin, cout streams or the %I64d specifier.

翻译中…

Note

翻译中…

In the first sample any group of three points meets our conditions.

翻译中…

In the seconds sample only 2 groups of three points meet our conditions: {-3, -2, -1} and {-2, -1, 0}.

翻译中…

In the third sample only one group does: {1, 10, 20}.

翻译中…

样例

Input #1
4 3
1 2 3 4
Output #1
4
InputCopy OutputCopy
Input #2
4 2
-3 -2 -1 0
Output #2
2
InputCopy OutputCopy
Input #3
5 19
1 10 20 30 50
Output #3
1
InputCopy OutputCopy
题目信息
题号
251A
时间限制
2 s
内存限制
256 MB
标签
二分
组合数学
双指针

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。