#agc040f. [agc040_f]Two Pieces
[agc040_f]Two Pieces
問題文
数直線上に,区別できない つの駒が置かれています. どちらの駒も最初,座標 にあります.(駒は同じ座標に同時に存在できます)
これらの駒に対して,以下の 種類の操作が可能です.
- 好きな駒を つ選び, 大きい座標に移動する.
- 座標の小さい駒を,座標の大きい駒の位置へと移動する. なお,もともと つの駒が同じ座標に置いてある場合は何も起きないが,その場合でも 回の操作として数える.
以上の操作を好きな順番で 回繰り返して, つの駒の一方が座標 ,他方が座標 にあるようにしたいです. このような動かし方が何通りあるかを求めてください. ただし答えは非常に大きくなることがあるので, で割ったあまりを求めてください.
なお,ある つの動かし方 が異なるとは,整数 () であって, 動かし方 で 回目の操作後に駒の置いてある座標の集合 と 動かし方 で 回目の操作後に駒の置いてある座標の集合 が異なるものが存在することを意味します.
制約
- 入力される値はすべて整数である.
入力
入力は以下の形式で標準入力から与えられる.
出力
条件をみたす駒の動かし方が何通りあるかを で割ったあまりを出力せよ.
入力例 1
5 1 3
出力例 1
4
以下の 通りの動かし方があります. なお, で,駒の座標がそれぞれ にある状態を表しています.
入力例 2
10 0 0
出力例 2
1
入力例 3
10 4 6
出力例 3
197
入力例 4
1000000 100000 200000
出力例 4
758840509