bzoj#P2637. flare

flare

题目背景

这是一个很有趣的想法,如果熊是蜜蜂,
他们会将他们的巢建在树下。
而且如此的话(如果蜜蜂是熊),
我们就不用爬上楼梯了。

题目描述

这是小熊维尼的一首充满抱怨的歌。你是否曾经想过,有些关于无向图的问题,如果把边看成点,点看成边,会更容易解决?这道题目正与此有关。
假设有一张无向图 G0G_{0},让我们对 G0G_{0} 执行一次简单变换,来得到无向图 G1G_{1}G1G_{1} 满足,每个 G1G_{1} 的顶点和 G0G_{0} 的一条边一一对应。G1G_{1} 的一对顶点间有一条边,当且仅当在 G0G_{0} 中的对应边有一个公共顶点。 可能与你猜测的不一样,本题给出了 G1G_{1},求一个满足条件的 G0G_{0}

输入格式

输入的第一行含两个数 n,mn , m,代表点数和边数。接下来 mm 行,每行有两个数 aabb,表示 aabb 间有一条边。保证每条边连接了两个不同的顶点,每对顶点最多有一条边相连。

输出格式

如果这样的 G0G_{0} 不存在,输出 -1。否则,输出 nn 行,每行两个数,代表 G0G_{0} 的一条边的两个顶点。G0G_{0} 的第 ii 条边对应于 G1G_{1} 的顶点 ii。输出需要满足,每条边连接了不同的顶点,每对顶点间至多只有一条边。你可以自行给顶点标号,但顶点的标号需要是正整数,而且不应超过 10910 ^ 9

3 3
1 2
1 3
2 3
1 2
1 3
2 3

提示

样例的图是“三角形”( 三个点,两两间均有边 )。容易看到“三角形”简单变换后仍是“三 角形”。当然,样例的解并不唯一。

数据规模与约定

10%10\% 的数据,1n101 \leq n \leq 10
20%20\% 的数据,1n151 \leq n \leq 15
30%30\% 的数据,1n201 \leq n \leq 20
50%50\% 的数据,1n1001 \leq n \leq 100
70%70\% 的数据,1n1031 \leq n \leq 10 ^3
100%100\% 的数据,1n,m1061 \leq n , m \leq 10 ^ 61a,bn1 \leq a , b \leq n