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$