#agc040f. [agc040_f]Two Pieces

[agc040_f]Two Pieces

問題文

数直線上に,区別できない 22 つの駒が置かれています. どちらの駒も最初,座標 00 にあります.(駒は同じ座標に同時に存在できます)

これらの駒に対して,以下の 22 種類の操作が可能です.

  • 好きな駒を 11 つ選び,11 大きい座標に移動する.
  • 座標の小さい駒を,座標の大きい駒の位置へと移動する. なお,もともと 22 つの駒が同じ座標に置いてある場合は何も起きないが,その場合でも 11 回の操作として数える.

以上の操作を好きな順番で NN 回繰り返して,22 つの駒の一方が座標 AA,他方が座標 BB にあるようにしたいです. このような動かし方が何通りあるかを求めてください. ただし答えは非常に大きくなることがあるので,998244353998244353 で割ったあまりを求めてください.

なお,ある 22 つの動かし方 x,yx,y が異なるとは,整数 ii (1leqileqN1 \\leq i \\leq N) であって, (( 動かし方 xxii 回目の操作後に駒の置いてある座標の集合 ))(( 動かし方 yyii 回目の操作後に駒の置いてある座標の集合 )) が異なるものが存在することを意味します.

制約

  • 1leqNleq1071 \\leq N \\leq 10^7
  • 0leqAleqBleqN0 \\leq A \\leq B \\leq N
  • 入力される値はすべて整数である.

入力

入力は以下の形式で標準入力から与えられる.

NN AA BB

出力

条件をみたす駒の動かし方が何通りあるかを 998244353998244353 で割ったあまりを出力せよ.


入力例 1

5 1 3

出力例 1

4

以下の 44 通りの動かし方があります. なお,(x,y)(x,y) で,駒の座標がそれぞれ x,yx,y にある状態を表しています.

  • (0,0)(0,0)(0,1)(0,2)(0,3)(1,3)(0,0)→(0,0)→(0,1)→(0,2)→(0,3)→(1,3)
  • (0,0)(0,0)(0,1)(0,2)(1,2)(1,3)(0,0)→(0,0)→(0,1)→(0,2)→(1,2)→(1,3)
  • (0,0)(0,0)(0,1)(1,1)(1,2)(1,3)(0,0)→(0,0)→(0,1)→(1,1)→(1,2)→(1,3)
  • (0,0)(0,1)(1,1)(1,1)(1,2)(1,3)(0,0)→(0,1)→(1,1)→(1,1)→(1,2)→(1,3)

入力例 2

10 0 0

出力例 2

1

入力例 3

10 4 6

出力例 3

197

入力例 4

1000000 100000 200000

出力例 4

758840509