P15721 [JAG 2023 Summer Camp #3] Many-hued Tree

Description

There is a tree with $N$ nodes numbered from $1$ to $N$. For each $i = 1, \ldots, N - 1$, the $i$-th edge connects node $u_i$ and node $v_i$. You are going to paint all nodes in distinct colors. Colors are represented by integers between $1$ and $N$. The assignment of colors on the tree is called good, if it is possible to complete the following operation $N - 1$ times repeatedly. - Select a pair of colors $(A, B)$ which satisfies the following two conditions. - $|A - B| = 1$. - There exists an edge which connects a node painted in color $A$ and a node painted in color $B$. - Change the color of all nodes currently painted in color $A$ to color $B$. Your task is to count the number of good assignments of colors on the tree modulo $998,244,353$.

Input Format

The input consists of a single test case of the following format. $$ \begin{aligned} &N \\ &u_1 \ v_1 \\ &u_2 \ v_2 \\ &\vdots \\ &u_{N-1} \ v_{N-1} \end{aligned} $$ The first line consists of an integer $N$, which satisfies $1 \leq N \leq 2,000$. Each of the $N - 1$ lines consists of two integers $u_i, v_i$, which satisfies $1 \leq u_i, v_i \leq N$. The given graph is guaranteed to be a tree.

Output Format

Output in a line the number of assignments of colors on the given tree modulo $998,244,353$.