You are given a tree with n vertices.
Let's place a robot in some vertex v≠1, and suppose we initially have p coins. Consider the following process, where in the i-th step (starting from i=1):
The process stops as soon as the robot reaches vertex 1. Let f(v,p) be the minimum possible expected number of steps in the process above if we spend our coins optimally.
Answer q queries, in the i-th of which you have to find the value of f(vi,pi), modulo∗ 998244353.
∗ Formally, let M=998244353. It can be shown that the answer can be expressed as an irreducible fraction pq, where p and q are integers and q \not \equiv 0 \pmod{M}. Output the integer equal to p \cdot q^{-1} \bmod M. In other words, output such an integer x that 0 \le x < M and x \cdot q \equiv p \pmod{M}.
Each test contains multiple test cases. The first line contains the number of test cases t (1 \le t \le 10^3). The description of the test cases follows.
The first line of each test case contains two integers n and q (2 \le n \le 2 \cdot 10^3; 1 \le q \le 2 \cdot 10^3) — the number of vertices in the tree and the number of queries.
The next n - 1 lines contain the edges of the tree, one edge per line. The i-th line contains two integers u_i and v_i (1 \le u_i, v_i \le n; u_i \neq v_i), denoting the edge between the nodes u_i and v_i.
The next q lines contain two integers v_i and p_i (2 \le v_i \le n; 0 \le p_i \le n).
It's guaranteed that the given edges form a tree.
It is guaranteed that the sum of n over all test cases does not exceed 2 \cdot 10 ^ 3.
It is guaranteed that the sum of q over all test cases does not exceed 2 \cdot 10 ^ 3.
For each test case, print q integers: the values of f(v_i, p_i) modulo 998\,244\,353.
Formally, let M = 998\,244\,353. It can be shown that the answer can be expressed as an irreducible fraction \frac{p}{q}, where p and q are integers and q \not \equiv 0 \pmod{M}. Output the integer equal to p \cdot q^{-1} \bmod M. In other words, output such an integer x that 0 \le x < M and x \cdot q \equiv p \pmod{M}.
24 41 22 32 42 03 04 03 112 101 22 32 41 55 66 76 86 98 1010 1110 126 09 010 011 03 17 110 112 112 211 12
1 6 6 2 4 9 8 15 2 3 6 9 5 5
The tree in the first test case:
In the first query, the expected value is equal to 1, since the robot starts moving from vertex 2 to vertex 1 in the first step and the process stops.
Let's calculate the expected value in the second query (x is the number of steps):
As a result, f(v, p) = \sum\limits_{i=1}^{\infty}{i \cdot 2 \cdot \frac{2^{i - 1}}{3^i}} = 6.
The tree in the second test case: