Với tư cách là thị trưởng của thị trấn RUN, bạn đang lên kế hoạch xây dựng một ngôi làng mới. Ngôi làng bao gồm các ngôi nhà và các con đường hai chiều nối giữa hai ngôi nhà khác nhau. Các con đường được tổ chức sao cho không có hai con đường nào nối cùng một cặp ngôi nhà. Nói cách khác, ngôi làng có thể được coi là một đồ thị đơn, trong đó các ngôi nhà tương ứng với các đỉnh và các con đường tương ứng với các cạnh hai chiều. Lưu ý rằng ngôi làng có thể không liên thông.
Bạn muốn ngôi làng của mình đơn giản nhất có thể. Do đó, với bất kỳ hai ngôi nhà phân biệt $i$ và $j$, số lượng đường đi đơn từ nhà $i$ đến nhà $j$ không được vượt quá $K$.
Gọi $N$ là số lượng ngôi nhà. Điểm số của ngôi làng là $$\prod_{1 \le i < j \le N} A_{f(i, j)}$$ trong đó $f(i, j)$ là số lượng đường đi đơn từ nhà $i$ đến nhà $j$.
Mặc dù số lượng ngôi nhà chưa được xác định, bạn biết rằng nó sẽ là một số nguyên từ $2$ đến $M$. Bạn cần tính tổng điểm của tất cả các ngôi làng có thể có với $N$ ngôi nhà cho mỗi $N$ từ $2$ đến $M$. Vì kết quả có thể rất lớn, hãy in ra các kết quả theo modulo $998\,244\,353$.
Dữ liệu vào
Dòng đầu tiên chứa hai số nguyên $M$ và $K$ cách nhau bởi dấu cách. Dòng thứ hai chứa $K + 1$ số nguyên $A_0, \dots, A_K$ cách nhau bởi dấu cách.
- $2 \le M \le 100\,000$
- $0 \le K \le 3$
- $1 \le A_i < 998\,244\,353$ ($0 \le i \le K$)
Dữ liệu ra
Với mỗi $N$ từ $2$ đến $M$, in ra tổng điểm của tất cả các ngôi làng có thể có với $N$ ngôi nhà, theo modulo $998\,244\,353$. Các kết quả cần được phân cách bằng dấu cách. Lưu ý rằng $998\,244\,353 = 119 \cdot 2^{23} + 1$ là một số nguyên tố.
Ví dụ
Dữ liệu vào 1
4 0 2
Dữ liệu ra 1
2 8 64
Dữ liệu vào 2
5 1 3 4
Dữ liệu ra 2
7 327 96721 169832849
Dữ liệu vào 3
6 2 5 6 7
Dữ liệu ra 3
11 1566 3000672 306031599 466869291
Dữ liệu vào 4
7 3 8 9 10 11
Dữ liệu ra 4
17 5427 31856976 326774674 449014006 997476587