+ محدودیت زمان: ۴ ثانیه
+ محدودیت حافظه: ۲۵۶ مگابایت
----------
مغازه هفتدال فروشی(!) به علیش یه [درخت](https://fa.wikipedia.org/wiki/%D8%AF%D8%B1%D8%AE%D8%AA_%28%D9%86%D8%B8%D8%B1%DB%8C%D9%87_%DA%AF%D8%B1%D8%A7%D9%81%29)(گرافی همبند و بدون دور) $n$ راسی انداخت. روی راس $i$ام درخت میوهای به وزن $w_i$ هست.
اون قراره یه زیر درخت(زیر مجموعهای از رئوس درخت که همبندن) از این درخت رو انتخاب کنه و بده به پاشا. پاشا هم زیر درختی رو دوست داره که `OR` منطقی وزن میوههاش مساوی $k$ باشه.
حالا علیش که پاشا رو از ته دل دوست داره میخواد بدونه به چند حالت میتونه زیردرختی رو انتخاب کنه که پاشا دوست داشته باشه. بهش کمک کنید و باقی مانده این عدد رو بر $10^9+7$ چاپ کنید.
# ورودی
در خط اول ورودی $n$ و $k$ آمدهاست.
در خط بعدی $n$ عدد آمده که با فاصله از هم جدا شده اند و عدد $i$ام $w_i$ است.
در $n-1$ خط بعدی دو عدد $v$ و $u$ آمده که نشاندهنده این است که راس $v$ به راس $u$ وصل است.
$$1 \le n \le 100\ 000$$
$$0 \le w_i , k \le 500$$
+ تضمین میشود گراف داده شده درخت باشد.
# خروجی
در خروجی تنها باقی مانده تعداد زیر درخت های دوست داشتنی پاشا بر $10^9+7$ چاپ شود.
# مثال
## ورودی نمونه ۱
```
4 3
1 2 2 1
1 2
1 3
1 4
```
## خروجی نمونه ۱
```
6
```
## ورودی نمونه ۲
```
5 10
10 2 8 10 4
1 2
2 3
1 4
4 5
```
## خروجی نمونه ۲
```
8
```