#cpsco2019s4c. [cpsco2019_s4_c]Make a Team

[cpsco2019_s4_c]Make a Team

配点 : 300300

問題文

ラスク君の通う大学の競技プログラミング部には部員が NN 人います。ii 人目の部員のレートは RiR_i です。

大学対抗のプログラミングコンテストのために、部員から 33 人を選んでチームを 11 つ作ることになりました。

ここで、チーム内でレートが一番高い人と一番低い人のレートの差が DD 以下になるようにします。

このようなチームの作り方が何通りあるか求めてください。

制約

  • 入力はすべて整数である。
  • 3leqNleq1053 \\leq N \\leq 10^5
  • 1leqDleq1091 \\leq D \\leq 10^9
  • 1leqRileq1091 \\leq R_i \\leq 10^9

入力

入力は以下の形式で標準入力から与えられる。

NN DD R1R_1 R2R_2 ldots\\ldots RNR_N

出力

条件を満たすチームの作り方が何通りあるかを出力せよ。

答えが 3232 ビット整数型に収まらない場合があることに注意せよ。


入力例 1

5 400
300 700 1000 800 500

出力例 1

3

(部員 11, 部員 22, 部員 55), (部員 22, 部員 33, 部員 44), (部員 22, 部員 44, 部員 55) の 33 通りあります。


入力例 2

3 1000
2000 2000 4000

出力例 2

0

条件を満たすチームの作り方が 11 つもない場合もあります。


入力例 3

6 314159265
358979323 846264338 327950288 419716939 93751058 209749445

出力例 3

7