EduBrick

O. В бухгалтерии опять всё перепутали

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

В компании nn сотрудников; сотрудник 00 — директор, у каждого остального есть ровно один непосредственный начальник. Множество сотрудника vv — это он сам, все его начальники (вплоть до директора) и все его подчинённые (всё поддерево).

В нулевой день сотруднику ii платят cic_i. Далее mm дней; в день ii даны два номера aia_i и bib_i:

  1. считается sis_i — сумма зарплат по множеству сотрудника aia_i, взятая по модулю 109+710^9 + 7;
  2. затем sis_i прибавляется к зарплате каждого сотрудника из множества сотрудника bib_i.

Выведите зарплату сотрудника n−1n - 1 в каждый из дней с нулевого по mm-й. Она не берётся по модулю.

Формат ввода

В первой строке — числа 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 (0≤ai,bi≤n−10 \le a_i, b_i \le n - 1).

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

В единственной строке выведите m+1m + 1 число — зарплату сотрудника n−1n - 1 в дни с нулевого по mm-й.

Примеры

ввод
3 3
0 0
1 1 1
0 0
2 1
1 2
вывод
1 4 4 28
ввод
4 3
0 1 1
1 2 1 1
0 1
1 3
2 3
вывод
1 6 31 100
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.