#P12103. [NERC2024] Legacy Screensaver

[NERC2024] Legacy Screensaver

Description

在一个非常古老的操作系统中,屏保由两个在屏幕上飞来飞去的矩形组成。屏幕宽 WW 像素,高 HH 像素。我们规定屏幕左上角为坐标原点,xx 轴从原点向右延伸,yy 轴从原点向下延伸。

ii 个矩形(i=1,2i=1,2)的宽度为 wiw_i 像素,高度为 hih_i 像素,初始时其左上角坐标为 (xi,yi)(x_i, y_i),初始移动方向为 (δxi,δyi)(\delta x_i, \delta y_i),其中 δxi\delta x_iδyi\delta y_i 的取值均为 1-111。每过一秒,矩形 ii 的左上角坐标都会立刻变化 (δxi,δyi)(\delta x_i, \delta y_i)

每当矩形 ii 碰到屏幕的左边界或右边界时,δxi\delta x_i 的符号会在下一秒之前反转。同样地,每当矩形 ii 碰到屏幕的上边界或下边界时,δyi\delta y_i 的符号会在下一秒之前反转。如果矩形 ii 同时碰到两条边界(只能发生在屏幕的角落处),那么 δxi\delta x_iδyi\delta y_i 都会反转。

因此,两个矩形始终完全位于屏幕内部。简而言之,矩形与屏幕边界的碰撞是完全弹性的。注意,尽管如此,矩形的移动依然是离散的:每过一秒,矩形的坐标瞬间移动 11 个像素单位。

你很好奇这两个矩形有多频繁地重叠。当两个矩形的交集面积为正时,认为它们发生了重叠。

f(t)f(t) 表示在第 0,1,,t10, 1, \ldots, t-1 秒内,矩形发生重叠的时刻数量(其中第 00 秒是矩形开始移动之前)。

请你求出 f(t)t\dfrac{f(t)}{t}t+t \to +\infty 时的极限,并以最简分数的形式表示。可以证明,该极限值是一个有理数。

Input Format

每个测试包含多个测试用例。

第一行包含一个整数 T  (1T1000)T\;(1 \le T \le 1000),表示测试用例的数量。

接下来是每个测试用例的描述。

每个测试用例的第一行包含两个整数 WWHH,表示屏幕的宽和高(3W,H40003 \le W,H \le 4000)。

接下来的两行分别描述两个矩形。每个矩形由六个整数 wi,hi,xi,yi,δxi,δyiw_i, h_i, x_i, y_i, \delta x_i, \delta y_i 描述,表示第 ii 个矩形的宽度、高度、左上角坐标以及初始移动方向(1wiW21 \le w_i \le W-21hiH21 \le h_i \le H-20<xi<Wwi0 < x_i < W-w_i0<yi<Hhi0 < y_i < H-h_iδxi,δyi{1,1}\delta x_i, \delta y_i \in \{-1, 1\})。

保证所有测试用例中 W+HW+H 的总和不超过 80008000

Output Format

对于每个测试用例,输出一行,包含两个用斜杠(/\tt{/})分隔的整数 ppqq(中间无空格),表示 f(t)t\dfrac{f(t)}{t} 的极限值为 pq\dfrac{p}{q}。输出的分数必须是最简形式,即 ppqq 的最大公约数为 11

2
3 3
1 1 1 1 1 1
1 1 1 1 1 -1
5 4
2 2 1 1 -1 -1
2 1 2 2 1 -1
1/2
1/3

Hint

对于第二个测试用例,矩形在最初几秒内的状态如下图所示。矩形在第 τ=0\tau=0 秒和第 τ=6\tau=6 秒发生重叠。例如,f(8)=2f(8)=2