编程题
### 问题描述
雪莉经营着一家杂货铺。作为雪莉的好朋友,小蓝去帮雪莉进货。
雪莉交给小蓝一张进货单,进货单上有 $n$ 个数字,代表价格。雪莉告诉小蓝,进货点货物的价格均为在 $[1,2^p]$ 之间的整数,并且保证从 $1$ 到 $2^p$ 的每个价格均有对应的货物且该货物只有一个。雪莉希望若进货点存在进货单上的价格对应的货物(即价格在 $[1,2^p]$ 之间且未被进货过),那么小蓝应将其进货。
小蓝同时还想进一些自己喜欢的货物。小蓝将所有他已经进的货物的价格看作集合 $S$ ,设有 $x\in S$ ,那么对于进货点处价格为 $2x+1$ 和 $4x$ 的货物,若该价格的货物尚未被进货(即不在 $S$ 中)且该价格在 $[1,2^p]$ 之间,小蓝将会将其进货,并将它们的价格放入 $S$ 。
小蓝想请你帮他算算,如果他将雪莉的进货单和自己喜欢的货物全部进货,一共会进多少货物。由于货物的数量可能较大,小蓝希望你将结果对 $10^9+7$ 取模。
### 输入格式
第一行包含两个整数 $n,p$ ,其含义如问题描述所示。
第二行包含 $n$ 个整数 $a_1,a_2,…,a_n$ ,表示雪莉进货单上的价格。
### 输出格式
输出一个整数,表示小蓝进货总数对 $10^9+7$ 取模后的结果。
### 样例输入
```
2 4
6 1
```
### 样例输出
```
9
```
### 评测数据规模
对于所有评测数据, $1\leq{n,p}\leq{10^5 },1\leq{a_i}\leq{10^9 }$ 。