#CF2135F. 至无穷大

至无穷大

给定一棵有 nn 个节点的满二叉树*,根节点为 11。对于每个节点 uu1un1 \le u \le n),我们定义函数 fu:R+R+f_u: \mathbb{R}^+ \to \mathbb{R}^+ 如下:

  • uu 是叶子节点†,则 fu(x)=xf_u(x) = x
  • 否则,记 uu 的左子节点为 lul_u,右子节点为 rur_u,则
    fu(x)=(flu(x))fru(x)f_u(x) = \big(f_{l_u}(x)\big)^{f_{r_u}(x)}

对于两个节点 uuvv,我们称 uvu \prec v 当且仅当以下之一成立:

  1. xx \to \infty 时,fu(x)<fv(x)f_u(x) < f_v(x)
  2. u<vu < v,且当 xx \to \infty 时,fu(x)=fv(x)f_u(x) = f_v(x)‡。

可以证明,对于任意两个不同的节点 uuvv,要么 uvu \prec v,要么 vuv \prec u 成立。

你需要按照 \prec 的顺序对节点排序。形式化地说,你需要找到一个长度为 nn 的排列§ pp,使得对于每个 1i<n1 \le i < n,有 pipi+1p_i \prec p_{i+1}


输入
每个测试点包含多个测试用例。第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含一个整数 nn1n41051 \le n \le 4 \cdot 10^5nn 为奇数),表示满二叉树的节点数。

接下来 nn 行,第 ii 行包含两个整数 lil_irir_i0li,rin0 \le l_i, r_i \le n),表示节点 ii 的左子节点和右子节点。如果 ii 是叶子节点,则 li=ri=0l_i = r_i = 0。保证输入形成一棵以 11 为根的满二叉树。

保证所有测试用例的 nn 之和不超过 41054 \cdot 10^5


输出
对于每个测试用例,输出一行 nn 个整数 p1,p2,,pnp_1, p_2, \dots, p_n1pin1 \le p_i \le n,所有 pip_i 互不相同),即你找到的排列。需要保证对于每个 1i<n1 \le i < n,有 pipi+1p_i \prec p_{i+1}


样例输入

4
3
2 3
0 0
0 0
5
2 3
4 5
0 0
0 0
0 0
9
2 3
4 5
0 0
0 0
6 7
8 9
0 0
0 0
0 0
1
0 0

样例输出

2 3 1 
3 4 5 2 1 
3 4 7 8 9 6 5 2 1 
1 

注释
在第一个测试用例中,f2(x)=f3(x)=xf_2(x) = f_3(x) = xf1(x)=(f2(x))f3(x)=xxf_1(x) = (f_2(x))^{f_3(x)} = x^x。当 xx \to \infty 时,显然 f2(x)=f3(x)<f1(x)f_2(x) = f_3(x) < f_1(x)。因此 2312 \prec 3 \prec 1

在第二个测试用例中,f3(x)=f4(x)=f5(x)=xf_3(x) = f_4(x) = f_5(x) = xf2(x)=(f4(x))f5(x)=xxf_2(x) = (f_4(x))^{f_5(x)} = x^xf1(x)=(f2(x))f3(x)=xx2f_1(x) = (f_2(x))^{f_3(x)} = x^{x^2}。显然当 xx \to \infty 时,x<xxx < x^x,所以 f2(x)<f1(x)f_2(x) < f_1(x)。类似地,f3(x)=f4(x)=f5(x)<f2(x)<f1(x)f_3(x) = f_4(x) = f_5(x) < f_2(x) < f_1(x)。因此 345213 \prec 4 \prec 5 \prec 2 \prec 1


*满二叉树:每个节点要么有 00 个孩子,要么有 22 个孩子的有根树。
†叶子节点:没有孩子的节点。
‡这里,“当 xx \to \inftyfu(x)<fv(x)f_u(x) < f_v(x)”等价于:存在正数 NN,使得对所有 x>Nx > Nfu(x)<fv(x)f_u(x) < f_v(x) 成立。fu(x)=fv(x)f_u(x) = f_v(x)xx \to \infty 的定义类似。
§长度为 nn 的排列:由 nn 个互不相同的 11nn 的整数按任意顺序组成的数组。例如,[2,3,1,5,4][2,3,1,5,4] 是一个排列,但 [1,2,2][1,2,2] 不是(22 出现两次),[1,3,4][1,3,4] 也不是(n=3n=3 但数组中出现了 44)。