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

Задача . C. Цикл перестановки


Для перестановки P[1... N] чисел от 1 до N определим следующую функцию f:

Обозначим, за g(i) минимальное натуральное j такое, что f(i, j) = i. Можно показать, что такое j всегда существует.

Для заданных N, A, B найдите перестановку P чисел от 1 до N такую, что для любого 1 ≤ i ≤ N, g(i) равно или A, или B.

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

В единственной строке содержатся три целых числа N, A, B (1 ≤ N ≤ 106, 1 ≤ A, B ≤ N).

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

Если требуемой перестановки не существует, выведите -1.

Иначе выведите перестановку целых чисел от 1 до N.

Примечание

В первом тестовом примере g(1) = g(6) = g(7) = g(9) = 2 и g(2) = g(3) = g(4) = g(5) = g(8) = 5.

Во втором тестовом примере g(1) = g(2) = g(3) = 1.


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

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

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