Codeforces Round 258 (Div. 2) |
---|
Закончено |
Футбольный турнир состоит из n игр. В нем участвуют три команды. На данный момент команды уже сыграли k матчей.
Вы ярый футбольный фанат, по случайности пропустивший все k игр. К счастью, вы вспомнили прогноз одного вашего друга на первые k игр. Друг не назвал точное количество побед каждой команды по итогу k матчей. Вместо этого он предполагал, что модуль разности между количеством побед первой и второй команды будет равен d1, а второй и третьей — d2.
Вы не хотите, чтобы какая-то команда стала победителем турнира, иными словами, у каждой команды должно быть одинаковое количество побед по завершении n игр. Поэтому вам хочется узнать, может ли турнир пройти так, что предсказание вашего друга сбудется, и при этом в итоге все команды будут иметь одинаковое количество побед?
Обратите внимание, что в этом турнире матч не может закончиться ничьей.
В первой строке записано целое число t (1 ≤ t ≤ 105) — количество тестовых данных.
В каждой из следующих t строк записаны четыре целых числа через пробел: n, k, d1, d2 (1 ≤ n ≤ 1012; 0 ≤ k ≤ n; 0 ≤ d1, d2 ≤ k).
Выведите "yes", если у турнира может не быть победителя. В противном случае, выведите "no" (без кавычек).
5
3 0 0 0
3 3 0 0
6 4 1 0
6 3 3 0
3 3 3 2
yes
yes
yes
no
no
Пример 1. Еще не состоялось ни одного матча (k = 0, d1 = 0, d2 = 0). Один из возможных турниров — это турнир с матчами (1-2, 2-3, 3-1), где каждая команда выигрывает ровно один раз.
Пример 2. Вы пропустили все игры (k = 3). Так как d1 = 0 и d2 = 0, достаточно взять турнир из предыдущего примера.
Пример 3. Вы пропустили 4 матча, и d1 = 1, d2 = 0. Первые 4 матча могли бы быть такими: 1-2 (победа 2-го), 1-3 (победа 3-го), 1-2 (победа 1-го), 1-3 (победа 1-го). На данный момент первая команда имеет 2 победы, вторая команда имеет 1 победу, третья команда имеет 1 победу. Два оставшихся матча могут быть такими: 1-2 (победа 2-го), 1-3 (победа 3-го). В итоге все команды имеют одинаковое количество побед (2 победы).
Название |
---|