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

Задача . A. Грегор и криптография


Грегор изучает RSA — известный алгоритм криптографии, и несмотря на то, что он пока не понимает, как работает RSA, он очаровался простыми числами и работой с ними.

Любимое простое число Грегора равно \(P\). Грегор хочет найти два основания \(P\). Формально, Грегор хочет найти два целых числа \(a\) и \(b\), удовлетворяющих двум следующим условиям.

  • \(P \bmod a = P \bmod b\), где \(x \bmod y\) обозначает остаток от деления \(x\) на \(y\), и
  • \(2 \le a < b \le P\).

Помогите Грегору найти два основания его любимого простого числа!

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

Каждый тест состоит из нескольких наборов входных данных. Первая строка содержит количество наборов входных данных \(t\) (\(1 \le t \le 1000\)).

Каждая последующая строка содержит одно целое число \(P\) (\(5 \le P \le {10}^9\)), где \(P\) гарантированно простое.

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

Вывод должен состоять из \(t\) строк. Каждая строка должна содержать два целых числа \(a\) и \(b\) (\(2 \le a < b \le P\)). Если существует несколько решений, выведите любое.

Примечание

В первом примере \(P=17\). \(a=3\) и \(b=5\) допустимые основания, потому что \(17 \bmod 3 = 17 \bmod 5 = 2\). Существуют другие допустимые пары.

Во втором примере \(P=5\), единственное решение здесь — \(a=2\) и \(b=4\).


Примеры
Входные данныеВыходные данные
1 2
17
5
3 5
2 4

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

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