조심해서 세기
시간 제한1초메모리 제한1024 MB
리프에 0부터 n까지의 정수를 적는 방법 중 루트에 최종으로 k가 써지는 경우의 수를 k마다 998244353으로 나눈 나머지로 구합니다.
문제
루트가 정점 인 근이 있는 트리가 정점 개로 주어진다. 정점이 루트가 아니고 차수가 정확히 이면 그 정점을 리프라고 한다.

그림은 샘플 테스트에 해당하며, 리프는 빨간색으로 표시되어 있다.
는 에 없는 가장 작은 음이 아닌 정수이다. 예를 들어 , , 이다.
트리의 리프 개수를 이라 하자. 다음 과정을 수행한다.
- 모든 리프 정점 에 에 속한 정수를 아무거나 하나 적는다.
- 리프가 아닌 모든 정점 에는 의 자식들에 적힌 정수들의 를 적는다.
예를 들어 그림의 첫 번째 트리에서 정점 4에 을, 정점 5에 을 적으면, 정점 2에는 , 정점 3에는 , 정점 1에는 가 적힌다.
트리를 채우는 방법은 모두 가지이다. 모든 에 대해, 정점 1에 적힌 수가 정확히 가 되도록 채우는 방법의 수를 구한다. 값이 매우 클 수 있으므로 으로 나눈 나머지를 출력한다.