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

Задача . D. Умка и долгий перелёт


Девочка Умка любит путешествовать и участвовать в олимпиадах по математике. Однажды она летела самолетом на очередную олимпиаду и от скуки изучала огромный клетчатый лист бумаги.

Обозначим \(n\)-е число Фибоначчи как \(F_n = \begin{cases} 1, & n = 0; \\ 1, & n = 1; \\ F_{n-2} + F_{n-1}, & n \ge 2. \end{cases}\)

Клетчатый прямоугольник с высотой \(F_n\) и шириной \(F_{n+1}\) назовем прямоугольником Фибоначчи порядка \(n\).

У Умки есть прямоугольник Фибоначчи порядка \(n\). Кто-то закрасил в нём клетку на пересечении ряда \(x\) и столбца \(y\).

Необходимо разрезать этот прямоугольник ровно на \(n+1\) квадратов, чтобы

  • закрашенная клетка находилась в квадрате со стороной \(1\);
  • было не более одной пары квадратов с совпадающими сторонами;
  • сторона каждого квадрата являлась числом Фибоначчи.

Получится ли у Умки разрезать этот прямоугольник таким образом?

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

В первой строке дано целое число \(t\) (\(1 \le t \le 2 \cdot 10^5\)) — количество наборов входных данных.

В единственной строке каждого набора входных данных даны целые числа \(n\), \(x\), \(y\) (\(1 \le n \le 44\), \(1 \le x \le F_n\), \(1 \le y \le F_{n+1}\)) — порядок прямоугольника Фибоначчи и координаты закрашенной клетки.

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

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

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

Примечание
Первый, третий и четвёртый наборы входных данных.

Примеры
Входные данныеВыходные данные
1 12
1 1 1
2 1 2
3 1 4
3 3 2
4 4 6
4 3 3
5 6 5
5 4 12
5 2 12
4 2 1
1 1 2
44 758465880 1277583853
YES
NO
YES
YES
YES
NO
YES
NO
NO
YES
YES
NO

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

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