eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Квадратный корень

Квадратный корень

Число \textbf{x} называется квадратным корнем числа \textbf{a} по модулю \textbf{n} тогда и только тогда, когда \textbf{x^2 = a (mod n)}. Напишите программу, которая находит все квадратные корни числа \textbf{a} по модулю \textbf{n}. \InputFile В первой строке находится одно число \textbf{t} (\textbf{1} ≤ \textbf{t} ≤ \textbf{100000}) --- количество тестов. Каждая следующая строка представляет собой отдельный тест, который содержит целые числа \textbf{a} и \textbf{n} (\textbf{1} ≤ \textbf{a}, \textbf{n} ≤ \textbf{32767}, \textbf{n} --- простое, \textbf{a} и \textbf{n} --- взаимно простые). \OutputFile Для каждого теста выведите все квадратные корни \textbf{a} в диапазоне \[\textbf{0}, \textbf{n-1}\] в возрастающем порядке в одной строке, разделяя одним пробелом. Если для текущего теста корней не существует, выведите в отдельной строке сообщение "\textbf{No root}".
Лимит времени 1 секунда
Лимит использования памяти 256 MiB
Входные данные #1
4
1 7
2 7
3 7
4 7
Выходные данные #1
1 6
3 4
No root
2 5
Источник III Международная Летняя школа программирования 2012 г. Севастополь