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

Задача . H. Новый год и триколор


Задача

Темы: игры *3200

Алиса и Боб играют в игру на поле с \(n\) строками и бесконечным количеством столбцов. В каждой строке есть три фишки: синяя, белая и красная. Перед началом игры и после каждого хода должны выполнятся следующие два условия:

  • Любые две фишки находятся в разных ячейках.
  • В каждой строке синяя фишка находится слева от белой, а красная фишка справа от белой.

Сначала Алиса и Боб выбирают целое положительное число \(f\), значение которого не меняется на протяжении игры. Потом начинающий игрок делает его/её первый ход, после которого игроки ходят по очереди. Игрок, который не может сделать ход, проигрывает.

Когда игрок делает ход, он выбирает целое число \(k\), которое либо простое число, либо произведение двух (не обязательно различных) простых чисел. Наименьшие возможные значения \(k\): \(2, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 17, 19, \dots\). Более того, \(k\) не должно быть равно тому \(f\), которое было выбрано в начале игры. Каждый ход происходит только в одной строке.

Если это ход Алисы, то она выбирает синюю фишку и передвигает её на \(k\) ячеек вправо. Или же она может передвинуть и синюю, и белую фишки в одной и той же строке на \(k\) ячеек вправо.

Боб, в свою очередь, выбирает красную фишку и передвигает её на \(k\) ячеек влево. Альтернативно, он может передвинуть и белую, и красную фишки в одной и той же строке на \(k\) ячеек влево.

Обратите внимание, что Алиса никогда не передвигает красную фишку, а Боб синюю. Помните, что после каждого хода те два условия должны выполняться.

Оба игрока играют оптимально. Учитывая начальное состояние игрового поля, определите, кто победит в двух играх: если Алиса начинает игру, и если начинает Боб.

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

Первая строка содержит два целых числа \(n\) и \(f\) (\(1 \leq n \leq 10^5\), \(2 \leq f \leq 2 \cdot 10^5\)) — количество строк и на сколько ячеек нельзя передвигать фишки соответственно.

Каждая из следующих \(n\) строк содержит три целых числа \(b_i\), \(w_i\), \(r_i\) (\(-10^5 \leq b_i < w_i < r_i \leq 10^5\)) — номера столбцов в \(i\)-й строке, в которых находятся синяя, белая и красная фишки соответственно.

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

Выведите две строки.

Первая строка должна содержать имя победителя игры, которую Алиса начинает, а вторая строка — имя победителя игры, которую начинает Боб.

Если побеждает Алиса, то нужно вывести «Alice», а если Боб, то «Bob».

Примечание

Первый пример:

Когда Алиса начинает, она может выиграть, передвигая синюю и белую фишки вправо на \(2\) ячейки, заняв позиции \(2~5~9\). Вне зависимо от того, что сделает Боб, у Алисы будет еще один ход, и тогда она сможет выиграть. Например, он может переместить как красную, так и белую фишки на \(2\) ячейки влево, получив позиции \(2~3~7\). Затем Алиса может переместить синюю и белую фишки на \(2\) вправо, чтобы получить \(4~5~7\), тогда Боб не сможет больше сделать ход.

Если Боб начинает, он получает достаточно преимуществ, чтобы выиграть. Например, он может переместить красную фишку на \(3\) влево, перейдя в положение \(0~3~6\). Алиса может, например, переместить синюю фишку на \(2\), после чего Боб передвигает красную фишку на \(2\). Игра заканчивается на позициях \(2~3~4\).

Во втором примере запрещено двигать фишки на \(2\) ячейки, но это не останавливает Алису, чтобы победить! Она может передвинуть синюю и белую фишки на \(4\), получая позиции \(4~7~9\). Теперь у Боба нет ходов, так как ход на \(2\) ячейки запрещен.


Примеры
Входные данныеВыходные данные
1 1 6
0 3 9
Alice
Bob
2 1 2
0 3 9
Alice
Bob
3 10 133
-248 -193 -187
97 101 202
-72 67 91
23 89 215
-129 -108 232
-223 -59 236
-99 86 242
-137 -109 -45
-105 173 246
-44 228 243
Bob
Alice

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

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