#P3862. 好子集

好子集

题目描述

给出一个包含n个元素的数组a[1...n]。从数组选中m个数,不妨假设是a[i1],a[i2],a[i3],...,a[im],其中i1 < i2 < i3 < ... < im,选中的这m个数就构成a数组的一个“子集”。如果该“子集”的最大值与该“子集”的最小值的差不超过k,那么该“子集”就是“好子集”。

你的任务是计算有多少个不同的“好子集”,答案模1000000007。

输入格式

第一行,3个正整数n、m、k。1<=n<=200000,1<=m<=100,1<=k<=n。

第二行,n个整数,第i个整数是a[i]。1<=a[i]<=n。数组的元素可能有重复。

输出格式

一个整数。

样例输入

4 3 2
1 2 4 3

样例输出

2