CF272D Dima and Two Sequences
题目描述
小迪玛有两组具有整数坐标的点序列:序列 $(a_{1},1),(a_{2},2),\ldots,(a_{n},n)$ 和序列 $(b_{1},1),(b_{2},2),\ldots,(b_{n},n)$。
现在迪玛想统计,在满足以下条件的情况下,可以从这两组序列中组合出多少种长度为 $2n$ 的不同点序列:组合后的点序列中各点的 $x$ 坐标不递减。请帮助他完成统计。注意,每个初始序列中的元素都必须恰好使用一次。
如果存在某个 $i$ $(1\leq i\leq 2n)$,有 $(p_{i},q_{i})\neq(x_{i},y_{i})$,则迪玛认为两组组合结果 $(p_{1},q_{1}),(p_{2},q_{2}),\ldots,(p_{2n},q_{2n})$ 和 $(x_{1},y_{1}),(x_{2},y_{2}),\ldots,(x_{2n},y_{2n})$ 是不同的。
由于答案可能很大,请输出答案除以 $m$ 的余数。
输入格式
第一行包含一个整数 $n$ $(1\leq n\leq 10^5)$。
第二行包含 $n$ 个整数 $a_{1},a_{2},\ldots,a_{n}$ $(1\leq a_{i}\leq 10^9)$。
第三行包含 $n$ 个整数 $b_{1},b_{2},\ldots,b_{n}$ $(1\leq b_{i}\leq 10^9)$。
最后一行包含一个整数 $m$ $(2\leq m\leq 10^9+7)$。
输出格式
输出一个整数,表示所求答案对 $m$ 取余的结果。
说明/提示
在第一个样例中,只能得到一个序列:$(1,1),(2,1)$。
在第二个样例中,可以得到以下序列:$(1,1),(2,2),(2,1),(3,2)$;$(1,1),(2,1),(2,2),(3,2)$。因此答案为 $2$。
由 ChatGPT 5 翻译