Олимпиадный тренинг

Задача . A. Различные кнопки


Вы находитесь в точке \((0, 0)\) бесконечной координатной плоскости. У вас есть контроллер с \(4\) кнопками, выполняющими следующие операции:

  • \(\texttt{U}\): перемещение из \((x, y)\) в \((x, y+1)\);
  • \(\texttt{R}\): перемещение из \((x, y)\) в \((x+1, y)\);
  • \(\texttt{D}\): перемещение из \((x, y)\) в \((x, y-1)\);
  • \(\texttt{L}\): перемещение из \((x, y)\) в \((x-1, y)\).

К сожалению, контроллер сломан. Если нажать все \(4\) кнопки (в любом порядке), контроллер перестанет работать. Это значит, что за всю поездку можно нажать не более \(3\) различных кнопок (любое количество раз, в любом порядке).

На плоскости есть \(n\) особых точек с целочисленными координатами \((x_i, y_i)\).

Можете ли вы посетить все особые точки (в любом порядке), не сломав контроллер?

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

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

Первая строка каждого набора входных данных содержит одно целое число \(n\) (\(1 \le n \le 100\)) — количество особых точек.

Каждая из следующих \(n\) строк содержит по два целых числа \(x_i\), \(y_i\) (\(-100 \leq x_i, y_i \leq 100\)) — координаты особой точки \((x_i, y_i)\).

Обратите внимание, что на сумму \(n\) по всем наборам входных данных нет никаких ограничений.

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

Для каждого набора входных данных выведите «YES» (без кавычек), если вы можете достичь всех особых точек, не сломав контроллер, и «NO» (без кавычек) в противном случае.

Вы можете выводить каждую букву в любом регистре (строчную или заглавную). Например, строки «yEs», «yes», «Yes» и «YES» будут приняты как положительный ответ.

Примечание

В первом наборе входных данных вы можете перемещаться следующим образом:

  • вы начинаете с \((0, 0)\);
  • вы посещаете специальную точку \((x_2, y_2) = (0, 0)\);
  • Вы нажимаете \(\texttt{R}\), и перемещаетесь из \((0, 0)\) в \((1, 0)\);
  • вы нажимаете \(\texttt{D}\), и вы перемещаетесь из \((1, 0)\) в \((1, -1)\);
  • вы посещаете особую точку \((x_1, y_1) = (1, -1)\);
  • вы посещаете особую точку \((x_3, y_3) = (1, -1)\).

Таким образом, вы можете посетить все особые точки, используя только кнопки \(\texttt{R}\), \(\texttt{D}\), поэтому контроллер не сломается.

Обратите внимание, что особые точки могут совпадать.

Во втором наборе входных данных можно показать, что можно посетить все особые точки, используя только кнопки \(\texttt{U}\), \(\texttt{D}\), \(\texttt{L}\).

В третьем наборе входных данных можно показать, что для посещения всех точек необходимо нажать все кнопки (\(\texttt{U}\), \(\texttt{R}\), \(\texttt{D}\), \(\texttt{L}\)), поэтому контроллер сломается.


Примеры
Входные данныеВыходные данные
1 6
3
1 -1
0 0
1 -1
4
-3 -2
-3 -1
-3 0
-3 1
4
1 1
-1 -1
1 -1
-1 1
6
-4 14
-9 -13
-14 5
14 15
-8 -4
19 9
6
82 64
39 91
3 46
87 83
74 21
7 25
1
100 -100
YES
YES
NO
NO
YES
YES

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя