만드는 중입니다

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

마을 계획

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

요약
정점이 N개인 단순 그래프 중 모든 두 정점 사이의 단순 경로가 K개 이하인 것들의 점수(A 값의 곱)를 N=2부터 M까지 각각 구해 더합니다.
난이도

어려움10점 중 9점

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

문제

RUN 마을의 시장으로서 새 마을을 계획하고 있다. 마을은 집들과, 서로 다른 두 집을 잇는 도로로 이루어진다. 같은 두 집을 잇는 도로는 두 개 이상 있을 수 없다. 즉, 마을은 각 집을 정점으로, 각 도로를 간선으로 하는 단순 그래프로 볼 수 있다. 마을은 연결되어 있지 않을 수도 있다.

마을은 최대한 단순해야 한다. 따라서 서로 다른 임의의 두 집 ii, jj에 대해, 집 ii에서 집 jj로 가는 단순 경로는 최대 KK개여야 한다.

집의 수를 NN이라 하자. 마을의 점수는 ∏1≤i<j≤NAf(i,j)\prod_{1\le i<j\le N} A_{f(i,j)}이며, 여기서 f(i,j)f(i,j)는 집 ii에서 집 jj로 가는 단순 경로의 개수이다.

집의 수는 아직 정해지지 않았지만 22 이상 MM 이하의 정수이다. NN을 22부터 MM까지 바꿔 가며, 집이 NN개인 가능한 모든 마을의 점수 합을 구하라.

답이 클 수 있으므로 998244353998244353으로 나눈 나머지를 출력하라.

입력

첫째 줄에 두 정수 MM과 KK가 공백으로 구분되어 주어진다.

둘째 줄에 공백으로 구분된 K+1K+1개의 정수 A0,…,AKA_0, \dots, A_K가 주어진다.

출력

22부터 MM까지의 각 NN에 대해, 집이 NN개인 가능한 모든 마을의 점수 합을 998244353998244353으로 나눈 나머지를 출력한다. 답은 공백으로 구분한다.

제한

  • 2≤M≤1000002\leq M\leq 100000
  • 0≤K≤30\leq K\leq 3
  • 1≤Ai<9982443531\leq A_i<998244353 (0≤i≤K)(0\le i\le K)

예제4

  1. 예제 1

    입력
    4 0
    2
    
    예상 출력
    2 8 64
    
  2. 예제 2

    입력
    5 1
    3 4
    
    예상 출력
    7 327 96721 169832849
    
  3. 예제 3

    입력
    6 2
    5 6 7
    
    예상 출력
    11 1566 3000672 306031599 466869291
    
  4. 예제 4

    입력
    7 3
    8 9 10 11
    
    예상 출력
    17 5427 31856976 326774674 449014006 997476587