Vincent 将他的退休计划从养马和养羊改为了养鸡。他购买了 $N$ 只鸡,并将它们分别安置在各自的鸡舍中。这些鸡舍排成一行,从左到右依次编号为 $1$ 到 $N$。
为了让他的退休生活幸福(或者他至少是这么认为的),Vincent 买了一个喂食机器人。这个机器人装载了 $M$ 颗饲料,并将它们分发给鸡群。机器人会从一个鸡舍移动到相邻的鸡舍,并给它访问的每个鸡舍分发 $1$ 颗饲料。如果一个鸡舍被机器人访问了 $x$ 次(包括机器人的初始位置),那么它将获得 $x$ 颗饲料。
然而,Vincent 刚刚发现他无法控制机器人的移动方式。假设机器人当前位于鸡舍 $p$。如果机器人还有剩余的饲料,它会随机移动到相邻的鸡舍(鸡舍 $p-1$ 或 $p+1$),并给该鸡舍分发 $1$ 颗饲料。这个过程会一直重复,直到机器人没有饲料可以分发为止。注意,如果 $p=1$,机器人将移动到鸡舍 $2$;同样,如果 $p=N$,机器人将移动到鸡舍 $N-1$。
由于 Vincent 并不喜欢你,尽管你是他唯一的朋友,但他还是给你出了一个难题。挑战的内容是:计算如果机器人从鸡舍 $A$ 开始,有多少种可能的饲料分发方案。一种饲料分发方案定义为一个元组 $\langle R, S_{1..N} \rangle$,其中 $R$ 是机器人的最终位置,$S_i$ 是鸡舍 $i$ 获得的饲料数量。当且仅当最终位置不同,或者存在某个鸡舍获得的饲料数量不同时,两种分发方案才被视为不同。机器人的移动路径或鸡舍获得饲料的顺序无关紧要。
由于输出结果可能非常大,Vincent 要求你给出结果对 $998\,244\,353$ 取模后的非负余数。Vincent 认为你无法解决这个问题,并承诺如果你能解决他的挑战,他会给你一笔丰厚的奖励。
例如,设 $N=4, M=3, A=2$。在这个例子中,有 $3$ 种不同的饲料分发方案:
- $2, \{1, 2, 0, 0\}$:机器人最终停在鸡舍 $2$,各鸡舍获得的饲料数量为 $\{1, 2, 0, 0\}$。导致此分发方案的机器人移动路径为:机器人从鸡舍 $2$ 开始并给鸡舍 $2$ 分发 $1$ 颗饲料;移动到鸡舍 $1$ 并给鸡舍 $1$ 分发 $1$ 颗饲料;移动到鸡舍 $2$ 并给鸡舍 $2$ 分发 $1$ 颗饲料。简单记法为:$2 \to 1 \to 2$。
- $2, \{0, 2, 1, 0\}$:机器人最终停在鸡舍 $2$,各鸡舍获得的饲料数量为 $\{0, 2, 1, 0\}$。移动路径为:$2 \to 3 \to 2$。
- $4, \{0, 1, 1, 1\}$:机器人最终停在鸡舍 $4$,各鸡舍获得的饲料数量为 $\{0, 1, 1, 1\}$。移动路径为:$2 \to 3 \to 4$。
输入格式
输入包含三个整数 $N, M, A$ ($2 \le N \le 100\,000; 1 \le M \le 200\,000; 1 \le A \le N$),分别代表鸡舍数量、饲料数量和喂食机器人的起始位置。
输出格式
输出一行,包含一个整数,表示不同饲料分发方案的数量对 $998\,244\,353$ 取模后的非负余数。
样例
样例输入 1
4 3 2
样例输出 1
3
说明 1
这是题目描述中的例子。
样例输入 2
3 5 2
样例输出 2
3
说明 2
在这种情况下有 $3$ 种不同的饲料分发方案: $2, \{2, 3, 0\}$:机器人最终停在鸡舍 $2$,各鸡舍获得的饲料数量为 $\{2, 3, 0\}$。移动路径为 $2 \to 1 \to 2 \to 1 \to 2$。 $2, \{0, 3, 2\}$:机器人最终停在鸡舍 $2$,各鸡舍获得的饲料数量为 $\{0, 3, 2\}$。移动路径为 $2 \to 3 \to 2 \to 3 \to 2$。 * $2, \{1, 3, 1\}$:机器人最终停在鸡舍 $2$,各鸡舍获得的饲料数量为 $\{1, 3, 1\}$。移动路径为 $2 \to 1 \to 2 \to 3 \to 2$ 或 $2 \to 3 \to 2 \to 1 \to 2$;两者给出的分发方案相同,即机器人最终停在同一个鸡舍,且每个鸡舍获得的饲料数量相同。
样例输入 3
3 6 2
样例输出 3
6
说明 3
在这种情况下有 $6$ 种不同的饲料分发方案:$1, \{3, 3, 0\}, 1, \{2, 3, 1\}, 3, \{2, 3, 1\}, 1, \{1, 3, 2\}, 3, \{1, 3, 2\}$ 以及 $3, \{0, 3, 3\}$。