P5619 [DBOI2019] 持矢
题目背景
```cpp
吾射不亦精乎?
——doby
```
题目描述
$doby$是一个弓箭手,他很喜欢拿箭。
这天,他来到一个射箭场,发现射箭场老板放好了$n$个靶子(从$1-n$标号),中间画了$n-1$条线,使得这$n$格靶子和$n-1$条线组成了一个**根为**$1$的树。每个靶子上都有分数。
他为了历练自己,选择了一个点(称为父点),然后对它子树(包括它)的每个靶子射一次,每个靶子射中概率为$50\%$。每次射完一个子树,他获得的总分为射中的所有靶子的分数之**积**。
现在他想知道,选择不同的点作为父点,他期望总分为多少?由于总分可能很大,你需要把结果对$19260817$(质数)取模。
输入格式
输入两个正整数,靶子总数$n$和询问次数$m$。
接下来一行,$n$个正整数,表示编号为$1-n$的靶子的分数。
接下来$n-1$行,每行两个数$u,v$,描述树的一条无向边。
接下来$m$行,每行一个正整数$x(1\leq x\leq n)$,表示询问以靶子$x$为父节点时,$doby$期望获得的总分。
输出格式
输出一行,一个正整数$out$。
为了减少输出,定义$out$为对于每组询问,期望获得的总分之和。由于是期望,需要你在计算$\frac{a}{b}$时,将其改为$a*b^{-1} mod (19260817)$。你需要把输出$out$也对$19260817$取模。
说明/提示
### 注意:由于模数较大,请注意求逆元时中间结果的溢出。
如果你不需要卡常,使用快速幂求逆元就够用了。
【样例#$1$说明】
答案为$\frac{5}{4}$,可能的总分有$0$,$1$,$2$。
【样例#$2$说明】
答案分别为$9630410$、$10834247$、$15047607$,即$\frac{3}{2}$、$\frac{599}{16}$、$\frac{2999}{32}$。
$Subtask$ #$1$($10$分):
$1\leq n,m\leq 10$。
$Subtask$ #$2$($40$分):
$1\leq n,m\leq 10^5$。
$Subtask$ #$3$($50$分):
$1\leq n,m\leq 2 \times 10^6$。
所有测试点的时间限制统一为$1.5s$,内存限制统一为$125M$。
### 题目提供者:$1jia1$