
Background
Statements
有两棵$n$个节点的有根树,不妨设两棵树分别为$T_1$和$T_2$,两棵树的节点的编号都是从$1$到$n$,根节点都是$1$。
考虑以下操作:
1、在$T_1$上标记一条给定的边;
2、在$T_2$上找到所有的未被标记的边$(x,y)$满足树$T_1$的路径$(x,y)$上存在边被标记,并标记它们;
3、在$T_1$上找到所有的未被标记的边$(x,y)$满足树$T_2$的路径$(x,y)$上存在边被标记,并标记它们;
4、如果$T_1$和$T_2$的所有边都被标记或者在之前一次2,3操作中没有边被标记,则结束操作,否则回到操作2。
定义进行一次2,3,4操作称为操作一轮,不难发现上述操作一定会在有限轮结束。你需要求出$T_1$和$T_2$上的每条边会在哪一轮被标记。我们认为初始$T_1$上给定的边在第$0$轮被标记,在上述过程中没有被标记的边则在$123456789$轮被标记。
Input Format
第一行一个正整数$n$表示两棵树的节点数。
接下来$n-1$行每行两个正整数$u,v$描述$T_1$上的一条边。
接下来$n-1$行每行两个正整数$u,v$描述$T_2$上的一条边。
接下来一行一个正整数$p$表示第$0$轮被标记的边是树$T_1$按照输入顺序排列的第$k$条边。
Output Format
输出两行。
第一行输出$n-1$个非负整数,第$i$个数表示树$T_1$上按照输入顺序排列的第$i$条边被标记的轮数;
第二行输出$n-1$个非负整数,第$i$个数表示树$T_2$上按照输入顺序排列的第$i$条边被标记的轮数。
Sample
Sample Input 1
3
1 2
2 3
1 3
3 2
1
Sample Output 1
0 123456789
1 123456789
Sample Input 2
4
1 2
1 3
2 4
1 4
4 3
3 2
2
Sample Output 2
1 0 1
2 1 1
Explanation
对于第一组样例数据,不难发现两棵树上的$(2,3)$边永远不会被标记。
Down
在选手文件中共下发了$3$个样例文件。对于第二组样例数据满足特殊性质$A$,对于第三组样例数据满足特殊性质$B$。
Constraint
测试点编号 | $n \leq$ | 特殊性质 |
---|---|---|
$1 \sim 2$ | $300$ | |
$3 \sim 6$ | $2000$ | |
$7 \sim 10$ | $7000$ | |
$11 \sim 13$ | $2 \times 10^5$ | $A$ |
$14 \sim 16$ | $2 \times 10^5$ | $B$ |
$17 \sim 20$ | $10^5$ | |
$21 \sim 25$ | $2 \times 10^5$ |
特殊性质$A$满足:树$T_1$和$T_2$的高度不超过$20$。
特殊性质$B$满足:树$T_1$中,对于$\forall i \in [1,n-1]$,$i$与$i+1$有一条边。
对于$100 \%$的测试数据,满足$2 \leq n \leq 2 \times 10^5 , 1 \leq u , v \leq n , 1 \leq p \leq n - 1$,输入一定合法。
时间限制:$4s$
空间限制:$512MB$