#arc083d. [arc083_d]Collecting Balls

[arc083_d]Collecting Balls

n×nn\times n 的正方形上有 2n2n 个小球,第 ii 个在 (xi,yi)(x_i,y_i)

nn 个 A 类机器人,第 ii 个在 (0,i)(0,i),有 nn 个 B 类机器人,第 ii 个在 (i,0)(i,0)

启动一个 A 类机器人后,它会向右走,将碰到的第一个球收集起来,并返回起点。启动一个 B 类机器人后,它会向上走,将碰到的第一个球收集起来,并返回起点。

只有上一个机器人返回起点后,下一个机器人才会被启动。机器人一旦被使用过一次就不能被再次使用。

问你有多少种启动机器人的顺序,能够收集完所有小球。方案数对 109+710^9+7 取模 。

n105n\leq 10^5