Luka 在化学实验室里发现了一条有趣的带子。这条带子被分成了 $N$ 个等长的段,并且可以很容易地在两个相邻段之间折叠,但折叠角度只能是恰好 180 度。
带子的一面完全涂满了一种极易挥发的化学物质。如果这种化学物质与自身接触,就会达到临界质量并发生爆炸。
带子的另一面还没有完全涂满。只有前 $A$ 个段和后 $B$ 个段涂有完全相同的化学物质。
编写一个程序,计算 Luka 折叠带子使其不发生爆炸的不同折叠方式的数量。他可以折叠带子多次,如果两个折叠方案中,存在至少一个相邻段之间的折痕在其中一种方案中被折叠而在另一种方案中没有被折叠,则认为这两种折叠方式是不同的。
由于答案可能非常大,请输出结果模 10301 的余数。
下图展示了 $N=4$,$A=1$ 且 $B=1$ 时所有 6 种可能的折叠方式。为了清晰起见,插图中带子仅折叠了 90 度。实际上 Luka 会将其折叠 180 度。
输入格式
输入只有一行,包含三个自然数 $N$,$A$ 和 $B$($A>0$,$B>0$,$A+B \le N \le 1000$),分别表示带子的总段数、左侧已涂化学物质的段数和右侧已涂化学物质的段数。
输出格式
输出只有一行,包含折叠带子的可能方式数量模 10301 的余数。
样例
输入样例 1
4 1 1
输出样例 1
6
输入样例 2
5 2 2
输出样例 2
1
输入样例 3
6 1 2
输出样例 3
7