编程题
### 问题描述 小蓝是一位有追求的艺术家,他喜欢将数字排列得井井有条。 他有两个长为 $n$ 的数组 $a$ 和 $b$,他希望重新排列数组 $a$ 使得对于所有的 $1\leq i\leq n$,都有 $a_i>b_i$。小蓝想知道,有多少种不同的排列方式能够实现他的愿望。 现在,你需要帮助小蓝实现这个想法。你需要编写一个程序,输入数组 $a$ 和 $b$ 的值,输出能够实现小蓝愿望的排列方式的个数。让我们一起探索排序的艺术吧! ### 输入格式 第一行是一个整数 $t$,表示测试用例的个数。 接下来 $t$ 组数据,每组数据包含以下三行: 第一行是一个整数 $n$,表示数组 $a$ 和 $b$ 的长度。 第二行是 $a$ 数组的 $n$ 个整数 $a_1,a_2,...,a_n$。 第三行是 $b$ 数组的 $n$ 个整数 $b_1,b_2,...,b_n$。 ### 输出格式 输出 $t$ 行,每行一个整数,表示能够实现小明愿望的排列方式的个数,答案可能很大,请输出对 $10^9+7$ 取模后的值。 ### 样例输入 ```txt 5 6 9 6 8 4 5 2 4 1 5 6 3 1 3 4 3 2 3 4 9 1 2 1 3 2 3 4 1 3 3 12 2 3 7 10 23 28 29 50 69 135 420 1000 1 1 2 3 5 8 13 21 34 55 89 144 ``` ### 样例输出 ```txt 32 0 1 0 13824 ``` ### 样例说明 ### 评测数据规模 对于 $100$% 的评测数据,$1\leq t \leq 10, 1\leq n \leq 1\cdot 10^5, 1\leq a_i, b_i \leq 10^9 $。
查看答案
赣ICP备20007335号-2