Qi the Chuan Shen (船神) has decided to build a tower using boats! Each boat i has a width Wi. In order to prevent the tower from toppling, Qi has calculated that a boat of width A can only be placed directly on top of a boat of width B if A ≤ B+Q, where Q is Qi's constant. Help Qi compute the number of different towers he can build using each of the N boats exactly once!
Note: Two towers are different if the order of boats from bottom to top is different.
On the first line are space-separated integers N
(1 ≤ N
≤ 100,000) and Q
(1 ≤ Q
≤ 1,000,000,000). The next N
lines contain an integer each, the ith
of which is the value Wi
(1 ≤ Wi
On the first and only line output the number of possible towers, modulo 1,000,000,007.
Sample Input 1
Sample Output 1