만드는 중입니다

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

여러 개의 괄호

시간 제한2초메모리 제한512 MB

요약
N개의 상자에 정규 괄호열을 하나씩 넣어 여는 괄호의 총 개수가 M이 되고 길이 2K인 정규 괄호열은 어느 상자에도 들어가지 않도록 하는 배치의 수를 998244353으로 나눈 나머지로 구한다.
난이도

어려움10점 중 8점

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

문제

괄호 '('와 ')'로만 이루어진 문자열을 생각하자.

정규 괄호 문자열은 다음 규칙으로 얻을 수 있는 문자열이다.

  • 빈 문자열은 정규 괄호 문자열이다.
  • AA가 정규 괄호 문자열이면 (AA)도 정규 괄호 문자열이다.
  • AA와 BB가 정규 괄호 문자열이면 AA와 BB를 이어 붙인 문자열도 정규 괄호 문자열이다.

1,2,…,N1, 2, \ldots, N번 상자 NN개와 정수 MM, KK가 주어진다. 각 상자에 정규 괄호 문자열을 정확히 하나씩 넣어 다음 조건을 만족시키려고 한다.

  • NN개 상자에 들어 있는 '('의 총 개수는 MM이다.
  • 길이가 2⋅K2 \cdot K인 정규 괄호 문자열은 상자에 넣을 수 없다.

이렇게 하는 서로 다른 방법의 수를 구하자. 두 분포는 어떤 번호 ii에 대해 ii번 상자에 들어 있는 정규 괄호 문자열이 다르면 서로 다른 것으로 본다.

답이 매우 클 수 있으므로 998 244 353998\,244\,353으로 나눈 나머지를 출력한다.

입력

한 줄에 세 정수 NN, MM, KK가 주어진다. (1≤M,N≤1061 \le M, N \le 10^6, 1≤K≤M1 \le K \le M)

출력

998 244 353998\,244\,353으로 나눈 답을 출력한다.

힌트

첫 번째 예제에서 다음 분포가 조건을 만족한다.

  • (()), 빈 문자열
  • ()(), 빈 문자열
  • 빈 문자열, (())
  • 빈 문자열, ()()

따라서 답은 44이다.

예제3

  1. 예제 1

    입력
    2 2 1
    
    예상 출력
    4
    
  2. 예제 2

    입력
    1 1 1
    
    예상 출력
    0
    
  3. 예제 3

    입력
    24 120 30
    
    예상 출력
    379268651