Multiple Parentheses

아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

Consider strings consisting of the brackets '(' and ')'. 

The regular bracket sequences are the strings which can be obtained by the following rules:

  • Empty string is a regular bracket sequence.
  • If AA is a regular bracket sequence, then (AA) is a regular bracket sequence.
  • If AA and BB are regular bracket sequences, then the concatenation of AA and BB is a regular bracket sequence.

You are given NN boxes numbered 1,2,,N1, 2, \ldots, N, and also two integers, MM and KK. Your task is to put exactly one regular bracket sequence in each of NN boxes such that the following conditions are met:

  • The total number of '(' brackets in all NN boxes is equal to MM.
  • The regular bracket sequences of length 2K2 \cdot K cannot be put into the boxes.

Count the number of different ways to do that. Two distributions are considered different if there exists a number ii such that box ii contains different regular bracket sequences in those distributions.

Because the answer may be very large, print the answer modulo 998,244,353998\\,244\\,353.

입력

The input contains one line with three integers NN, MM, and KK in it (1M,N1061 \le M, N \le 10^6, 1KM1 \le K \le M).

출력

Print the answer modulo 998,244,353998\\,244\\,353.

힌트

For the first example, the following distributions meet the conditions:

  • (()), empty;
  • ()(), empty;
  • empty, (());
  • empty, ()().

So, the answer is 44.