서브태스크 점수
시간 제한1초메모리 제한1024 MB
각 문제는 점수 합이 100인 10개 이하의 서브태스크로 이루어지고 이들 사이에 전이적인 선수 관계가 있다. 점수 합이 t가 되도록 유효한 서브태스크 집합을 고르는 방법의 수를 각 t마다 세고, 그 수에 t를 곱한 값의 총합을 998244353으로 나눈 나머지를 구한다.
문제
LGCPC 대회 문제를 준비하는 디오스(DIOS)는 맞힌 서브태스크(subtask, 부분 문제)의 집합이 다르지만 최종 점수가 같은 참가자들이 얼마나 많이 나올지 궁금해졌다.
대회는 개의 문제로 구성되어 있다. 각 문제는 1개 이상의 서브태스크로 구성되어 있는데, 번 문제는 개의 서브태스크로 구성되어 있고, 번 문제의 번 서브태스크의 점수는 점이다. 참가자의 최종 점수는 개의 문제에서 맞힌 서브태스크들의 점수의 합이다. 각 문제의 서브태스크 점수의 합은 정확히 100점이다.
서브태스크는 위계 관계를 가질 수 있다. 위계를 나타내는 쌍 는 번 서브태스크를 맞히기 위해서는 번 서브태스크도 맞혀야 함을 의미한다. 위계는 전이적으로 적용된다. 즉, 위계가 , 와 같이 있다면, 번 서브태스크를 맞히기 위해서 번 서브태스크를 모두 맞혀야 한다. 위계 관계는 한 문제 안에서만 존재하며, 서로 다른 문제의 서브태스크들 사이에는 어떠한 제약도 없다.
참가자의 최종 점수가 정확히 점이 되도록 문제들의 서브태스크를 고르는 방법의 수를 라고 하자. 여기에서 "방법"은 각 문제마다 선택한 서브태스크들의 집합을 의미하며, 선택한 서브태스크들은 위계 관계를 만족해야 한다. 서브태스크를 하나도 선택하지 않는 것도 유효한 방법이므로 임에 유의하라.
를 구하는 프로그램을 작성하라.
입력
첫째 줄에 문제의 개수 가 주어진다.
이후 문제 개의 정보가 다음과 같은 형식으로 차례대로 주어진다:
첫째 줄에 서브태스크의 개수 와 서브태스크 위계의 수 가 공백으로 구분되어 주어진다.
둘째 줄에 각 서브태스크의 점수 가 공백으로 구분되어 주어진다. 이는 번 문제의 번 서브태스크를 맞히면 점을 얻는다는 것을 의미한다.
다음 개의 줄에 서브태스크의 위계를 나타내는 두 정수 와 가 공백으로 구분되어 주어진다. 이는 번째 문제의 번 서브태스크를 맞히기 위해서는 번 서브태스크 또한 맞혀야 함을 의미한다.
출력
출력해야 하는 수의 개수와 크기가 매우 커질 수 있으므로, 를 으로 나눈 나머지를 출력한다.
제한
- ()
- ()
- (; )
- ()
- (; )
- 중복된 위계 관계는 주어지지 않는다.
- 전이적으로 유도될 수 있는 위계 관계가 입력으로 주어질 수 있다.
- 입력으로 주어지는 수는 모두 정수다.