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

Задача . C. Невзаимнопростое разбиение


Вам даны два целых числа \(l \le r\). Вам нужно найти такие целые положительные числа \(a\) и \(b\), чтобы одновременно выполнялись следующие условия:

  • \(l \le a + b \le r\)
  • \(\gcd(a, b) \neq 1\)

или сообщить, что их не существует.

\(\gcd(a, b)\) обозначает наибольший общий делитель чисел \(a\) и \(b\). Например \(\gcd(6, 9) = 3\), \(\gcd(8, 9) = 1\), \(\gcd(4, 2) = 2\).

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

Первая строка входных данных содержит целое число \(t\) (\(1 \le t \le 500\)) — количество наборов входных данных в тесте.

Далее следуют описания наборов входных данных.

Единственная строка описания каждого набора входных данных содержит \(2\) целых числа \(l, r\) (\(1 \le l \le r \le 10^7\)).

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

Для каждого набора входных данных выведите целые числа \(a, b\), подходящие под все условия, в отдельной строке. Если ответа нет, вместо этого выведите единственное число \(-1\).

Если ответов несколько, вы можете вывести любой из них.

Примечание

В первом наборе входных данных \(11 \le 6 + 9 \le 15\), \(\gcd(6, 9) = 3\), все условия выполнены. Обратите внимание, что это не единственный возможный ответ, например, \(\{4, 10\}, \{5, 10\}, \{6, 6\}\) также являются верными ответами для данного набора.

Во втором наборе входных данных единственные пары \(\{a, b\}\), подходящие под условие \(1 \le a + b \le 3\), — это пары \(\{1, 1\}, \{1, 2\}, \{2, 1\}\), однако в каждой такой паре \(\gcd(a, b)\) равняется \(1\), а значит, ответа не существует.

В третьем наборе входных данных \(\gcd(14, 4) = 2\)


Примеры
Входные данныеВыходные данные
1 11
11 15
1 3
18 19
41 43
777 777
8000000 10000000
2000 2023
1791791 1791791
1 4
2 3
9840769 9840769
6 9
-1
14 4
36 6
111 666
4000000 5000000 
2009 7
-1
2 2
-1
6274 9834495

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

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