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

Задача . B. Различие НОДов


Даны три целых числа \(n\), \(l\), и \(r\). Необходимо построить массив \(a_1,a_2,\dots,a_n\) (\(l\le a_i\le r\)) такой, что значения \(\gcd(i,a_i)\) все различны, либо сообщить, что решения не существует.

Здесь \(\gcd(x, y)\) обозначает наибольший общий делитель (НОД) чисел \(x\) и \(y\).

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

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

Первая строка каждого набора содержит три целых числа \(n\), \(l\), \(r\) (\(1 \le n \le 10^5\), \(1\le l\le r\le 10^9\)).

Гарантируется, что сумма значений \(n\) по всем наборам входных данных не превосходит \(10^5\).

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

Для каждого набора выведите «NO» (без кавычек), если решения не существует. Вы можете выводить буквы в любом регистре (верхнем или нижнем).

В противном случае выведите «YES» (без кавычек). В следующей строке выведите \(n\) целых чисел \(a_1,a_2,\ldots,a_n\) — построенный вами массив.

Если существуют несколько решений, выведите любое из них.

Примечание

В первом наборе входных данных, \(\gcd(1,a_1),\gcd(2,a_2),\ldots,\gcd(5,a_5)\) равны \(1\), \(2\), \(3\), \(4\), \(5\) соответственно.


Примеры
Входные данныеВыходные данные
1 4
5 1 5
9 1000 2000
10 30 35
1 1000000000 1000000000
YES
1 2 3 4 5
YES
1145 1926 1440 1220 1230 1350 1001 1000 1233
NO
YES
1000000000

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

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