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

Задача . E. Конвейер


Есть конвейер со \(120\) строками и \(120\) столбцами. Каждая строка и столбец пронумерованы от \(0\) до \(119\), а ячейка в \(i\)-й строке и \(j\)-й столбце обозначена как \((i, j)\). Самая верхняя левая ячейка обозначается \((0, 0)\). Каждая ячейка имеет маленькую конвейерную ленту, и изначально лента в каждой ячейке направлена вправо.

Изначально в ячейке \((0, 0)\) находится слайм, а остальные ячейки пусты. Каждую секунду состояние конвейера меняется следующим образом.

  • Все шарики слизи на конвейере одновременно перемещаются на одну клетку в направлении ленты конвейера в текущей ячейке. Если новая позиция находится снаружи конвейера, слайм выпадает с конвейера, а если два слайма перемещаются в одну и ту же ячейку, они сливаются в один.
  • Все клетки, в которых в предыдущую секунды были слаймы, меняю направление конвейерной ленты: ленты, обращенные вправо, становятся обращенными вниз, и наоборот.
  • На ячейку \((0, 0)\) помещается новый слайм.

Даны \(q\) запросов, каждый состоит из трех целых чисел \(t\), \(x\) и \(y\). Вы должны определить, есть ли слайм в клетке \((x, y)\) спустя \(t\) секунд после начала. Сможете ли вы сделать это?

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

Первая строка содержит одно целое число \(q\) (\(1 \le q \le 10^4\)) — количество запросов.

Единственная строка каждого запроса содержит три целых числа \(t\), \(x\) и \(y\) (\(0 \le t \le 10^{18}\), \(0 \le x, y < 120\)).

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

Выведите ответ для каждого запроса по одному в строке. Если в ячейке \((x, y)\) через \(t\) секунд после исходного состояния находится слайм, выведите «YES». В противном случае выведите «NO».

Примечание

Состояние конвейера при \(t = 0\). Красная стрелка представляет направление каждой ленты, а синие отметки показывают положения слаймов.

Состояние конвейера при \(t = 1\).

Состояние конвейера при \(t = 2\).


Примеры
Входные данныеВыходные данные
1 6
1 1 0
5 1 3
0 0 0
2 4 5
2 0 2
1547748756 100 111
NO
YES
YES
NO
YES
YES

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

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