B. Квадратный бильярд
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Ариан и Харшит играют в бильярд во вселенной AX120 на фиксированном квадратном бильярдном столе со стороной $$$s$$$ и лузами в $$$4$$$ углах. Углы расположены в точках $$$(0,0)$$$, $$$(0,s)$$$, $$$(s,0)$$$ и $$$(s,s)$$$. В этой вариации игры $$$n$$$ одинаковых шаров размещаются на столе в целочисленных координатах так, что ни один шар не лежит на границе или в углу стола. Затем все шары одновременно запускаются со скоростью $$$10^{100}$$$ единиц/сек (под углом $$$45$$$ градусов к осям).

Во вселенной AX120 шары и лузы практически точечные, а столкновения — упругие, то есть шар, ударяясь о любую поверхность, отскакивает под тем же углом и с той же скоростью.

Харшит сделал удар и предоставил Ариану позиции шаров и углы, под которыми он их запустил. Помогите Ариану определить, сколько шаров было забито Харшитом в лузы.

Гарантируется, что несколько столкновений не может произойти в одном месте одновременно.

Входные данные

Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 1000$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.

Первая строка каждого набора входных данных содержит два целых числа $$$n$$$ и $$$s$$$ ($$$1 \le n \le 10^3$$$, $$$2 \le s\le 10^9$$$) — количество шаров на столе и длина стороны квадратного бильярдного стола.

$$$i$$$-я из следующих $$$n$$$ строк содержит четыре целых числа $$$d_x$$$, $$$d_y$$$, $$$x_i$$$ и $$$y_i$$$ ($$$d_x,d_y \in \{-1, 1\}$$$, $$$0 \lt x_i, y_i \lt s$$$) — направления запуска по осям $$$X$$$ и $$$Y$$$ соответственно, а также координаты положения $$$i$$$-го шара. Гарантируется, что никакие два шара не находятся в одной точке в начальный момент.

Также гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$10^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)$$$, поэтому он будет забит.

Во втором наборе входных данных состояние изменяется так:

$$$\rightarrow$$$
$$$\rightarrow$$$
$$$\rightarrow$$$
$$$\rightarrow$$$