#OLD205. 繁琐的铜人阵

繁琐的铜人阵

Description

刚出发,奇奇就陷入了一个很困难的考验,摆在奇奇面前的是一个阵法,这就是坊间流传的铜人阵,面前有 n 个铜人,并且每个铜人都有一个对应的编号 ai (从 0 到 n - 1)。据奇奇所知,破解铜人阵的规则是这样的:对于每个铜人,它可能与其它的若干铜人冥冥中有所联系并且铜人间的联系不会成环(比如:0 和 1 有联系,1 和 2 有联系,则 0 和 2 就不会有联系)。并且每个铜人也都有一个功力值,这个功力值就是与其相联系的所有的铜人的编号异或值,如果这个铜人没有跟其他的铜人有联系,那么他的功力值就是 0。现在分别告诉你每个铜人与其相联系铜人的个数以及这个铜人的功力值。如果奇奇能道破所有铜人之间的联系,那么这个阵法就破解了。

Format

Input

对于每组输入的第一行:包括了一个正整数 n (1 <= n <= 2^16)代表了阵法中铜人的个数。

接下来的 n 行每行包括两个数字 xi, yi分别描述了从 0 到 n - 1 这 n 个铜人。每行代表了与这个铜人相联系铜人的个数,以及这个铜人的功力值。

Output

输出这个铜人阵所有铜人之间的联系,以破解阵法。首先第一行输出一个整数 m 表示这个铜人阵所有铜人之间联系的数目。对于之后的 m 行输出,每行输出包括两个数字分别代表有联系的两个铜人的编号。比如:0 1 代表编号为 “0” 的铜人和编号为 “1” 的铜人之间有联系。并且输出规则如下:每个联系编号小的在前。并且所有的联系先按照第一个铜人的编号从小到大排序,若相同,则按照第二个铜人编号从小到大排序。

Samples

3
2 3
1 0
1 0
2
0 1
0 2

Hint