#CF2120B. 方形泳池

方形泳池

B. 方形泳池

每次测试时间限制:11
每次测试内存限制:256256 兆字节

Aryan 和 Harshith 在宇宙 AX120 中的一张固定方形台球桌上打台球。桌边长度为 ss,四角有袋口。袋口位于 (0,0)(0,0)(0,s)(0,s)(s,s)(s,s)(s,0)(s,0)
在这种游戏变体中,有 nn 个相同的球放置在桌面上,且坐标为整数,并且没有球落在桌边或角落。
然后,所有球同时以 1010010^{100} 单位/秒的速度射出(方向仅与坐标轴成 4545 度角)。

在宇宙 AX120 中,球和袋口几乎是点大小,碰撞是完全弹性的,即球在任何边界上都会以相同角度和速度弹开。

Harshith 负责射球,并向 Aryan 提供了球的位置和射击角度。帮助 Aryan 计算出 Harshith 将球打进袋口的球数。

可以保证不会发生同一时刻同一位置的多重碰撞。


输入

每个测试包含多个测试用例。
第一行包含一个整数 tt1t10001 \le t \le 1000),表示测试用例的数量。
接下来是每个测试用例的描述。

每个测试用例的第一行包含两个整数 nnss1n1031 \le n \le 10^32s1092 \le s \le 10^9),分别表示桌上的球数和方形台球桌的边长。

接下来的 nn 行中,第 ii 行包含四个整数:dxd_xdyd_yxix_iyiy_idx,dy{1,1}d_x, d_y \in \{-1, 1\}0<xi,yi<s0 < x_i, y_i < s),分别表示第 ii 个球在 XX 轴和 YY 轴上的发射方向向量,以及球的初始坐标。保证初始时刻没有两个球在同一位置。

同时保证所有测试用例的 nn 总和不超过 10310^3


输出

对于每个测试用例,输出一个整数,表示在该游戏中进球的球数。


示例

输入

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

输出

1
3

注释

在第一个测试用例中,只有一个球,直接射向袋口,在位置 (2,2)(2,2) 进袋。

在第二个测试用例中,状态变化过程如下:

\Rightarrow
\Rightarrow
\Rightarrow
\Rightarrow