Определим уникальную орнаментальную раскраску корневого дерева$$$^{\text{∗}}$$$ как следующую раскраску вершин:
На своем пути к завоеванию леса рождественских деревьев Юуки столкнулся с орнаментально окрашенным деревом $$$T$$$ с $$$n$$$ вершинами, пронумерованными от $$$1$$$ до $$$n$$$, корнем которого является вершина $$$1$$$.
Юуки считает дерево завоёванным, если и только если выполняется по крайней мере одно из следующих условий:
Чтобы завоевать дерево, Юуки может совершить следующую операцию над $$$T$$$ произвольное количество раз (возможно, ноль):
Возможное применение операции в первом наборе входных данных. Получившееся дерево завоевано, так как все белые вершины находятся на пути между вершинами $$$1$$$ и $$$3$$$. Вам необходимо вычислить количество различных$$$^{\text{‡}}$$$ завоеванных деревьев, которые Юуки может построить, применяя вышеуказанную операцию произвольное количество раз к $$$T$$$. Поскольку ответ может быть большим, выведите его по модулю $$$998\,244\,353$$$.
Обратите внимание, что Юуки не может остановиться на полпути операции (в частности, он должен перекрасить дерево перед тем, как проверить, является ли оно завоеванным). Кроме того, Юуки может применять операцию, даже если дерево уже завоевано.
$$$^{\text{∗}}$$$Деревом называется связный граф без циклов.
$$$^{\text{†}}$$$Поддеревом вершины $$$v$$$ называется подграф, состоящий из вершины $$$v$$$, всех ее потомков, и всех ребер между ними.
$$$^{\text{‡}}$$$Два дерева считаются различными, если и только если существует пара вершин, такая что между ними есть ребро в одном из деревьев, а в другом нет.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит одно целое число $$$n$$$ ($$$2\le n\le 2\cdot 10^5$$$) — количество вершин в $$$T$$$.
Затем следуют $$$n-1$$$ строк, $$$i$$$-я строка содержит два целых числа $$$u_i$$$ и $$$v_i$$$ ($$$1\le u_i \lt v_i\le n$$$) — две вершины, которые соединяет $$$i$$$-е ребро.
Гарантируется, что заданные ребра образуют дерево.
Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$2\cdot 10^5$$$.
Для каждого набора входных данных выведите одно целое число — количество различных завоеванных деревьев, которые могут быть построены из $$$T$$$, по модулю $$$998\,244\,353$$$.
541 21 33 451 21 31 41 551 22 31 44 561 22 32 42 65 6112 106 81 63 75 115 85 94 76 72 6
411682048
В первом наборе входных данных приведены четыре завоеванных дерева, которые можно построить, и последовательность операций, которые строят каждое из них.
| Иллюстрация | |
| ![]() |
| ![]() |
| ![]() |
| ![]() |
Во втором наборе входных данных Юуки не может применить операцию к $$$T$$$, так как белых вершин нет. Кроме того, $$$T$$$ уже завоевано, так как белых вершин нет. Таким образом, ответ равен $$$1$$$.