数字 $1$ と $2$ からなる列があります。1 回の操作で、次のいずれかを行えます。
- ほかのすべての $1$ より右にある位置に $1$ を挿入します($1$ がない場合は、どこに挿入してもかまいません)。
- ある $2$ の右側に $1$ が存在しない場合、その $2$ を $1$ に変えます。
- 最も右にある $1$ を削除します(この操作は操作 1 の逆であることに注意してください)。
- 最も右にある $1$ を $2$ に変えます(この操作は操作 2 の逆であることに注意してください)。
例えば、列 11212122 から 1 回の操作で次の列を得ることができます。
- 操作 1:
112121122、112121212、112121221。 - 操作 2:
11212112、11212121。 - 操作 3:
1121222。 - 操作 4:
11212222。
ちょうど $a$ 個の数字 $2$ からなる列を、ちょうど $t$ 回の操作で、ちょうど $b$ 個の数字 $2$ からなる列に変換する方法の数を求めてください。
入力
入力は 1 行のみからなり、3 つの整数 $a,b,t$($0 \le a,b,t \le 10^6$)が与えられます。
出力
$a$ 個の数字 $2$ からなる列から、ちょうど $t$ 回の操作で $b$ 個の数字 $2$ からなる列を得る方法の数を出力してください。この数は非常に大きくなることがあるので、素数 $998\,244\,353$ で割った余りを出力してください。
入出力例
入力 1
0 0 4
出力 1
3
入力 2
1 4 6
出力 2
60
注記
1 つ目の例では、空の列から 4 回の操作で空の列を得る必要があります。その方法は次のとおりです($\varepsilon$ は空の列を表します)。
$$ \varepsilon\to 1\to\varepsilon\to 1\to\varepsilon $$
$$ \varepsilon\to 1\to 11\to 1\to\varepsilon $$
$$ \varepsilon\to 1\to 2\to 1\to\varepsilon $$