EduBrick

Общий фонд зарплат

3000 мс · 256 МБ · всё или ничего

Та же компания, что в классной задаче O: сотрудник 00 — директор, множество сотрудника — он сам, все его начальники и все его подчинённые.

В нулевой день сотруднику ii платят cic_i. В день ii по паре (ai,bi)(a_i, b_i) считается sis_i — сумма зарплат по множеству aia_i по модулю 109+710^9 + 7, — и затем sis_i прибавляется к зарплате каждого сотрудника из множества bib_i.

После каждого дня выведите суммарную зарплату всех сотрудников по модулю 109+710^9 + 7.

Формат ввода

В первой строке — числа nn и mm (1≤n,m≤1051 \le n, m \le 10^5). Во второй — n−1n - 1 число: начальники сотрудников 1,…,n−11, \ldots, n - 1. В третьей — nn чисел cic_i (1≤ci≤1091 \le c_i \le 10^9). В следующих mm строках — пары aia_i, bib_i.

Формат вывода

Выведите mm чисел — суммарную зарплату после каждого дня, по модулю 109+710^9 + 7.

Примеры

ввод
3 3
0 0
1 1 1
0 0
2 1
1 2
вывод
12
28
76
ввод
1 2

5
0 0
0 0
вывод
10
20
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.