Package for this problem was not updated by the problem writer or Codeforces administration after we’ve upgraded the judging servers. To adjust the time limit constraint, solution execution time will be multiplied by 2. For example, if your solution works for 400 ms on judging servers, then value 800 ms will be displayed and used to determine the verdict.

Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

The problem statement has recently been changed. View the changes.

×
C. Circle of Numbers

time limit per test

2 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputOne day Vasya came up to the blackboard and wrote out *n* distinct integers from 1 to *n* in some order in a circle. Then he drew arcs to join the pairs of integers (*a*, *b*) (*a* ≠ *b*), that are either each other's immediate neighbors in the circle, or there is number *c*, such that *a* and *с* are immediate neighbors, and *b* and *c* are immediate neighbors. As you can easily deduce, in the end Vasya drew 2·*n* arcs.

For example, if the numbers are written in the circle in the order 1, 2, 3, 4, 5 (in the clockwise direction), then the arcs will join pairs of integers (1, 2), (2, 3), (3, 4), (4, 5), (5, 1), (1, 3), (2, 4), (3, 5), (4, 1) and (5, 2).

Much time has passed ever since, the numbers we wiped off the blackboard long ago, but recently Vasya has found a piece of paper with 2·*n* written pairs of integers that were joined with the arcs on the board. Vasya asks you to find the order of numbers in the circle by these pairs.

Input

The first line of the input contains a single integer *n* (5 ≤ *n* ≤ 10^{5}) that shows, how many numbers were written on the board. Next 2·*n* lines contain pairs of integers *a*_{i}, *b*_{i} (1 ≤ *a*_{i}, *b*_{i} ≤ *n*, *a*_{i} ≠ *b*_{i}) — the numbers that were connected by the arcs.

It is guaranteed that no pair of integers, connected by a arc, occurs in the input more than once. The pairs of numbers and the numbers in the pairs are given in the arbitrary order.

Output

If Vasya made a mistake somewhere and there isn't any way to place numbers from 1 to *n* on the circle according to the statement, then print a single number "-1" (without the quotes). Otherwise, print any suitable sequence of *n* distinct integers from 1 to *n*.

If there are multiple solutions, you are allowed to print any of them. Specifically, it doesn't matter which number you write first to describe the sequence of the order. It also doesn't matter whether you write out the numbers in the clockwise or counter-clockwise direction.

Examples

Input

5

1 2

2 3

3 4

4 5

5 1

1 3

2 4

3 5

4 1

5 2

Output

1 2 3 4 5

Input

6

5 6

4 3

5 3

2 4

6 1

3 1

6 2

2 5

1 4

3 6

1 2

4 5

Output

1 2 4 5 3 6

Codeforces (c) Copyright 2010-2021 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Apr/13/2021 21:59:26 (j3).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|