Ариан и Харшит играют в бильярд во вселенной 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$$$.
Для каждого набора входных данных выведите одно целое число — количество шаров, забитых в этой партии.
21 21 1 1 15 41 -1 1 11 -1 2 2-1 1 2 31 -1 1 3-1 1 3 1
1 3
В первом наборе входных данных есть только один шар, и он направлен прямо в лузу $$$(2, 2)$$$, поэтому он будет забит.
Во втором наборе входных данных состояние изменяется так:
![]() | $$$\rightarrow$$$ | ![]() |
![]() | $$$\rightarrow$$$ | ![]() |
![]() | $$$\rightarrow$$$ | ![]() |
![]() | $$$\rightarrow$$$ | ![]() |
| Название |
|---|


