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

Задача . B. Правило лиги


Есть чемпионат по бадминтону, в котором принимают участие \(n\) игроков. Игроки пронумерованы от \(1\) до \(n\).

Чемпионата проходит следующим образом: игрок \(1\) и игрок \(2\) играют игру, потом победитель и игрок \(3\) играют игру, потом победитель и игрок \(4\) играют игру и так далее. В итоге будет сыграно \(n-1\) игр, и победитель последней игры становится чемпионом. В играх нет ничьих.

Вы хотите узнать результат чемпионата. В настоящее время вы знаете только следующую информацию:

  • Каждый игрок выиграл \(x\) игр или \(y\) игр в чемпионате.

По данным \(n\), \(x\) и \(y\), выясните, есть ли результат, соответствующий этой информации.

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

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

Единственная строка каждого набора входных данных содержит три целых числа \(n\), \(x\), \(y\) (\(2 \le n \le 10^5\), \(0 \le x, y < n\)).

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

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

Выведите ответ для каждого набора входных данных, по одному в строке. Если нет результата, соответствующего заданной информации о \(n\), \(x\), \(y\), выведите \(-1\). В противном случае выведите \(n-1\) целое число через пробел, где \(i\)-е число означает номер игрока победителя \(i\)-й игры.

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

Примечание

В первом примере игрок \(1\) и игрок \(4\) выиграли \(x\) раз, игрок \(2\) и игрок \(3\) выиграли \(y\) раз.

Во втором, третьем и пятый примерах не существует допустимого результата.


Примеры
Входные данныеВыходные данные
1 5
5 2 0
8 1 2
3 0 0
2 0 1
6 3 0
1 1 4 4
-1
-1
2 
-1

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

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