Universal Cup Judging System

Universal Cup

Límite de tiempo: 4.0 s Límite de memoria: 128 MB Puntuación total: 100 Hackeable ✓
Estadísticas

У БаоБао есть дерево с $n$ вершинами. Изначально все ребра дерева черные. БаоБао любит раскрашивать и считать пути в дереве, поэтому он выполнит $(n - 1)$ операцию раскраски. В $i$-й операции он покрасит $q_i$-е ребро в красный цвет. Очевидно, что после всех операций все ребра станут красными.

Ваша задача — вычислять, сколько простых путей в дереве содержат ровно $k$ черных ребер после каждой операции. Заметим, что мы считаем простой путь из вершины $u$ в вершину $v$ и из вершины $v$ в вершину $u$ одним и тем же путем.

Напомним, что простой путь — это путь, который не проходит через одно и то же ребро более одного раза.

Входные данные

В каждом файле содержится только один тест.

Первая строка входных данных содержит два целых числа $n$ и $k$ ($2 \le n \le 2 \times 10^5$, $1 \le k \le 10$), обозначающих количество вершин в дереве и количество черных ребер, которые мы считаем в путях.

Следующие $(n - 1)$ строк содержат по два целых числа $u_i$ и $v_i$ ($1 \le u_i, v_i \le n$), обозначающих, что $i$-е ребро в дереве соединяет вершины $u_i$ и $v_i$.

Следующие $(n - 1)$ строк содержат по одному целому числу $q'_i$ ($1 \le q'_i < n$), обозначающему закодированный индекс $i$-го ребра, которое красит БаоБао. Реальное значение $q_i$ равно $((q'_i + a_{i-1}) \pmod{n - 1}) + 1$, где $a_{i-1}$ — ответ на $(i - 1)$-й запрос. В частности, мы определяем $a_0$ как количество простых путей в дереве, содержащих ровно $k$ черных ребер до того, как БаоБао начнет красить. Благодаря закодированным запросам вы вынуждены вычислять ответ на каждый запрос перед обработкой следующего. Гарантируется, что $q_1, q_2, \dots, q_{n-1}$ является перестановкой чисел $1, 2, \dots, n - 1$.

Выходные данные

Выведите $(n - 1)$ строк, где $i$-я строка содержит целое число, обозначающее количество простых путей с ровно $k$ черными ребрами после $i$-й операции.

Примеры

Пример 1

6 1
4 6
4 2
4 3
5 6
1 2
4
2
1
2
3
5
7
8
8
0

Пример 2

6 2
4 6
4 2
4 3
5 6
1 2
2
5
5
4
3
5
4
2
0
0

Примечание

Для первого примера реальные значения $q_1, q_2, q_3, q_4, q_5$ равны $5, 3, 4, 1, 2$ соответственно. Дерево после первых двух операций показано слева. Черные ребра представлены более тонкими линиями, а красные ребра — более толстыми.

Пусть $u \to v$ — простой путь из вершины $u$ в вершину $v$. Простые пути, содержащие ровно одно черное ребро: $1 \to 3, 1 \to 4, 2 \to 3, 2 \to 4, 3 \to 6, 4 \to 6, 5 \to 6$.

Для второго примера реальные значения $q_1, q_2, q_3, q_4, q_5$ равны $3, 1, 5, 2, 4$ соответственно. Дерево после первых трех операций показано справа.

Простые пути, содержащие ровно два черных ребра: $1 \to 5, 2 \to 5$.

Дерево после первых двух операций показано слева.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.