+ محدودیت زمان: ۱ ثانیه
+ محدودیت حافظه: ۲۵۶ مگابایت
---------------------------------
*مرد عنکبوتی بعد از تریلر تبلیغاتی با لیونل مسی ، تصمیم گرفت با چهره های معروف حوزه برنامه نویسی هم تریلر تبلیفاتی درست کند، اما بعد از آشنایی با الگوریتم و برنامه نویسی رقابتی ، او به کلی شیفته این حوزه شد و حالا درحال تفکر بر روی برخی سوالات این حوزه است ...*
مرد عنکبوتی یک عدد مورد علاقه دارد و آن را $x$ مینامد. او یک آرایه از اعداد را مستحکم مینامد اگر به ازای هر دو عضو $a$ و $b$ متفاوت از این آرایه داشته باشیم :
$$ x \leq (a \oplus b) $$
که $x$ همان عدد مورد علاقه مرد عنکبوتی است.
حال به شما یک آرایه از اعداد ورودی داده میشود و شما باید تعداد زیرمجموعه های **ناتهی** مستحکم از اعداد این آرایه را باقیمانده بر $10^9 + 7$ محاسبه کنید.
توضیحات : $ a \oplus b $ نشان دهنده حاصل عملیات بیتی XOR بر روی اعداد $a$ و $b$ است.
# ورودی
در خط اول به شما به ترتیب اعداد $n$ و $x$ ، طول آرایه و عدد مورد علاقه مرد عنکبوتی ورودی داده میشود. در خط بعد $n$ عدد به ترتیب آمده اند که نشان دهنده اعضای آرایه مذکور در سوال هستند.
**تضمین میشود اعداد موجود در آرایه متمایز هستند.**
$$ 1 \leq n \leq 5 \cdot 10^5 $$
$$ 0 \leq a_i , x \leq 10^9 $$
# خروجی
در یک خط، تعداد زیرمجموعه های ناتهی مستحکم از آرایه ورودی سوال را خروجی دهید.
# مثال
## ورودی نمونه ۱
```
4 0
0 2 3 4
```
## خروجی نمونه ۱
```
15
```
## ورودی نمونه ۲
```
4 8
2 10 5 12
```
## خروجی نمونه ۲
```
8
```
## ورودی نمونه 3
```
7 11
10 9 2 1 8 11 15
```
## خروجی نمونه 3
```
11
```