### 问题描述
阿霖是一位将军,他拥有很多位手下,对于第 i 个手下都有一个能力值 ai。一天,阿霖要去打仗了,他要从他的手下里面组一支队伍出来,他需要从手下中以任意顺序选择若干个组成一支合理的队伍,一支合理的队伍需要满足以下条件:
请问阿霖一共有几种不同的合理组队方法,结果对 109+7 取模。
如果两种方法士兵的选择以及排列不同,则认为这两种方法不同。
第一行两个整数 n,x,表示手下的数量以及最大能力值之差。
第二行 n 个整数数,第 i 个整数表示第 i 个手下的观赏值 ai。
数据范围保证:1≤n≤105,1≤x,ai≤109。
输出一个整数,表示合理组队方法的数量,结果对 109+7 取模。
4 1
1 2 3 4
16
3 1
4 5 5
10
样例 1 中合法队伍有 [],[1],[2],[3],[4],[1,2],[2,3],[3,4],[1,2,3],[2,3,4],[1,2,3,4]。
样例 2 中合法队伍有 [],[1],[2],[3],[1,2],[1,3],[1,2,3],[2,3],[1,3,2],[3,2]。