ГВЧ навпаки#3114

ГВЧ навпаки

1 секунда
64 мегабайти
Легка

Том створює нову комп'ютерну гру. Це пригодницька гра з ніндзями й піратами; задоволення гарантоване!

Різні елементи гри містять випадковий чинник. Тому гра використовує різні генератори випадкових чисел, скорочено RNG. Кожен RNG використовує наступну формулу: нехай — це попереднє випадкове число. Наступне число обчислюється так:

y = a x^2 + b x + c \pmod{2^n}

де , , та — цілі параметри.

Для тестування гри Том може призупинити гру та переглянути відладочний вивід. Однією з важливих відомостей є останні значення, які згенерували RNG. Проте Том часто хоче повернути хід програми назад, і для цього йому потрібно з'ясувати, яким було попереднє значення RNG. Отже, коротко: знаючи параметри певного RNG і поточне число , він хоче дізнатися, яким було попереднє число . Чи можете ви йому допомогти?

Вхідні дані

Перший рядок містить кількість тестових випадків. Кожен тестовий випадок має такий формат:

  • Один рядок із п'яти цілих чисел , , , та (0 \le y, a, b, c < 2^n, 1 \le n \le 31): останнє значення RNG та його чотири параметри відповідно.

Вихідні дані

Для кожного тестового випадку виведіть у окремому рядку попереднє значення (0 \le x < 2^n) для RNG. Якщо такого числа немає або воно не єдине, виведіть No unique solution (без лапок) у окремому рядку.

Приклади

Приклад 1

Loading
Loading