编程题
### 问题描述
小蓝是蓝桥王国的卫队长,他手下有 $n$ 名战士,第 $i$ 名战士的战斗力为 $a_i$。他可以任选若干名战士组成一个 **非空的** 战斗小队,如果战斗小队中战斗力最弱加上战斗力最强不大于指标 $k$,则该选法被认定为完美选法。现在小蓝想知道他能选出多少种不同的完美小队。答案可能很大,你需要对 $10^9+7$ 取模。
### 输入格式
第一行输入两个整数 $n$ 和 $k$ ,表示战士的人数和完美选法的指标。
第二行输入 $n$ 个整数,第 $i$ 个数表示第 $i$ 名战士的战斗力。
数据范围保证:$1 \leq n \leq 10^5$,$1 \leq a_i,k \leq 10^6$。
### 输出格式
输出一个整数表示答案,答案需要对 $10^9+7$ 取模。
### 样例输入
```text
3 3
1 2 3
```
### 样例输出
```text
2
```
### 说明
有以下两种选法符合要求:
$[1]$ :最小值加最大值为 $(1+1)<3$ 。
$[1,2]$:最小值加最大值为 $(1+2) \leq 3$。
所以样例答案为 $2$。