만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

강좌

시간 제한15초메모리 제한1024 MB

요약
총 비용이 정확히 t이고 IQ 변화의 합이 k 이상인 강의 수강 순서의 개수를 t가 1부터 n까지인 경우마다 998244353으로 나눈 나머지로 구합니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 조합론
정답자
아직 제출이 없습니다

문제

작은 미샤는 IQ를 바꾸고 싶어 한다. 처음 IQ는 00이다. 그는 인터넷에서 mm가지 종류의 강좌를 찾았다. ii번째 강좌 종류는 비트코인 cic_i개가 들고, IQ를 did_i만큼 바꾼다. did_i는 음수일 수 있어서, 강좌를 들은 뒤 IQ가 떨어질 수도 있다. 이 종류의 강좌는 서로 다른 것이 nin_i개 있다. 강좌 저자들은 돈을 벌고 싶어 하므로 ci≥∣di∣c_i \ge |d_i|이다.

미샤는 IQ를 kk 이상으로 만들고 싶어 한다(kk는 음수일 수 있다). 이를 위해 어느 날까지 매일 강좌를 하나씩 듣는다. 같은 강좌를 여러 번 들을 수 있고, 들을 때마다 IQ가 바뀐다.

미샤에게 비트코인 nn개가 있다. 각 1≤t≤n1 \le t \le n에 대해, 비트코인을 정확히 tt개 쓰고 마지막에 IQ가 kk 이상이 되는 방법의 수를 구한다. 공부하는 날수가 다르거나, 어떤 날 듣는 강좌가 다르면 서로 다른 방법이다. 같은 종류의 서로 다른 강좌도 다른 것으로 본다.

입력

첫 줄에 강좌 종류의 수 mm (0<m<1000 < m < 100)이 주어진다. 다음 mm개 줄에는 정수 cic_i, did_i, nin_i (0<ci<100 < c_i < 10, ∣di∣≤ci|d_i| \le c_i, 0≤ni≤1040 \le n_i \le 10^4)가 주어진다. 마지막 줄에는 정수 nn과 kk (∣k∣≤n≤3⋅104|k| \le n \le 3 \cdot 10^4, n>0n > 0)가 주어진다.

출력

nn개의 정수를 한 줄에 하나씩 출력한다. ii번째 수는 비트코인을 정확히 ii개 쓰고 IQ가 kk 이상이 되는 방법의 수이다. 방법의 수가 클 수 있으므로 998 244 353998\,244\,353으로 나눈 나머지를 출력한다.

예제2

  1. 예제 1

    입력
    1
    1 1 2
    5 2
    
    예상 출력
    0
    4
    8
    16
    32
    
  2. 예제 2

    입력
    2
    1 -1 1
    1 1 2
    4 2
    
    예상 출력
    0
    4
    8
    48