有 n头奶牛(n≥5),编号 1∼n,按照某种顺序围着一张圆桌坐成一圈。
奶牛之间存在以下朋友关系:
- 如果两头奶牛相邻,则两头奶牛是朋友。
- 如果两头奶牛之间只隔着一头奶牛,则两头奶牛是朋友。
例如,如果一共有 5头奶牛,沿顺时针方向按 1∼5 的顺序就座,则一共有 10 对朋友关系:(1,2),(2,3),(3,4),(4,5),(5,1),(1,3),(2,4),(3,5),(4,1),(5,2)。
不难发现,当 n≥5 时,一共会有 2n 对朋友关系。
现在,给定 2n 对朋友关系,请你输出一种可能的奶牛就座情况。
输入格式
第一行包含整数 n。
接下来 2n 行,每行包含两个整数 ai,bi,表示一对给定朋友关系。
保证同一对朋友关系不会重复给出。
输出格式
如果给定朋友关系存在错误导致无解,则输出 -1
即可。
否则,请你任选一头奶牛,并从该奶牛开始,沿顺时针或逆时针方向,按座位顺序输出 n 头奶牛的编号。
如果方案不唯一,输出任意合理方案即可。
数据范围
前 5个测试点满足 5≤n≤10。
所有测试点满足 5≤n≤10^5,1≤ai,bi≤n,ai≠bi。
输入样例1:
5
1 2
2 3
3 4
4 5
5 1
1 3
2 4
3 5
4 1
5 2
输出样例1:
1 2 3 4 5
输入样例2:
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
输出样例2:
1 2 4 5 3 6