AT_agc040_f [AGC040F] Two Pieces

Description

[problemUrl]: https://atcoder.jp/contests/agc040/tasks/agc040_f 数直線上に,区別できない $ 2 $ つの駒が置かれています. どちらの駒も最初,座標 $ 0 $ にあります.(駒は同じ座標に同時に存在できます) これらの駒に対して,以下の $ 2 $ 種類の操作が可能です. - 好きな駒を $ 1 $ つ選び,$ 1 $ 大きい座標に移動する. - 座標の小さい駒を,座標の大きい駒の位置へと移動する. なお,もともと $ 2 $ つの駒が同じ座標に置いてある場合は何も起きないが,その場合でも $ 1 $ 回の操作として数える. 以上の操作を好きな順番で $ N $ 回繰り返して,$ 2 $ つの駒の一方が座標 $ A $,他方が座標 $ B $ にあるようにしたいです. このような動かし方が何通りあるかを求めてください. ただし答えは非常に大きくなることがあるので,$ 998244353 $ で割ったあまりを求めてください. なお,ある $ 2 $ つの動かし方 $ x,y $ が異なるとは,整数 $ i $ ($ 1\ \leq\ i\ \leq\ N $) であって, $ ( $ 動かし方 $ x $ で $ i $ 回目の操作後に駒の置いてある座標の集合 $ ) $ と $ ( $ 動かし方 $ y $ で $ i $ 回目の操作後に駒の置いてある座標の集合 $ ) $ が異なるものが存在することを意味します.

Input Format

N/A

Output Format

N/A

Explanation/Hint

### 制約 - $ 1\ \leq\ N\ \leq\ 10^7 $ - $ 0\ \leq\ A\ \leq\ B\ \leq\ N $ - 入力される値はすべて整数である. ### Sample Explanation 1 以下の $ 4 $ 通りの動かし方があります. なお,$ (x,y) $ で,駒の座標がそれぞれ $ x,y $ にある状態を表しています. - $ (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)→(1,1)→(1,2)→(1,3) $ - $ (0,0)→(0,1)→(1,1)→(1,1)→(1,2)→(1,3) $