Under construction

Still being built. Things may change

Multiple Parentheses

Time limit2sMemory limit512 MB

Summary
Count ways to place a regular bracket sequence in each of N boxes so the total number of opening brackets is M and no box holds a sequence of length 2K, modulo 998244353.
Level

Hard8 of 10

Topics
Combinatorics, Dynamic programming, Math, Number theory
Solved
No attempts yet

Problem

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

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

  • The 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 the 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 2⋅K2 \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.

Input

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

Output

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

Hint

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

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

So, the answer is 44.

Examples3

  1. Example 1

    Input
    2 2 1
    
    Expected output
    4
    
  2. Example 2

    Input
    1 1 1
    
    Expected output
    0
    
  3. Example 3

    Input
    24 120 30
    
    Expected output
    379268651