Сотрудники компании F развлекают себя каждый раз по разному. Сегодня они пригласили в офис знаменитого фокусника, который показывает фокус с пластиковыми стаканчиками и шариком.
Суть фокуса в том, чтобы обмануть внимание человека. Изначально перед испытуемым в ряд выкладывают n пластиковых стаканчиков, далее фокусник кладет под один из стаканчиков маленький шарик, далее перемешивает стаканчики. После чего человек должен угадать, под каким стаканом находится шарик.
Но главного программиста компании F обмануть не так-то просто. Увидев фокус, он заметил несколько важных фактов:
Когда главный программист пришел домой после работы, он захотел воссоздать фокус. К сожалению, он не запомнил ни изначального, ни конечного положения стаканчиков. Он только запомнил, какие операции совершал фокусник. Помогите программисту, по заданным операциям в порядке их применения найти хотя бы одну изначальную перестановку стаканчиков, с которой можно совершить все операции в том же порядке, или сообщите, что такой не существует.
В первой строке записаны целые числа n и m (1 ≤ n, m ≤ 106). В каждой из следующих m строк записана пара целых чисел. В i-й строке записаны целые числа xi, yi (1 ≤ xi, yi ≤ n) — описание i-й операции фокусника. Обратите внимание, что операции заданы в том порядке, в котором их выполнял фокусник, программист хочет выполнить эти операции в таком же порядке.
Если описанной перестановки не существует (программист ошибся в своих воспоминаниях), выведите -1. Иначе выведите n различных целых чисел, каждое от 1 до n: i-е число должно обозначать пометку на стаканчике, который изначально стоит в ряду на позиции i.
Если существует несколько правильных ответов, нужно вывести лексикографически наименьший.
2 1
2 1
2 1
3 2
1 2
1 1
2 1 3
3 3
1 3
2 3
1 3
-1
Название |
---|