#1913. 两棵树

两棵树

Description

你有两棵有根树,每棵各有 n 个顶点。让我们用整数 1 到 n 给每棵树的顶点编号。两棵树的根都是顶点 1。第一棵树的边都都是蓝色,第二棵树的边都是红色。简明起见,我们称第一棵树是蓝色的,以及第二棵树是红色的。 当满足下面的两个条件下,我们认为边(x, y) 有害于边(p,q): 1.边(x,y)的颜色不同于边(p,q)。 2.考虑与边(p, q) 颜色相同的树,编号为 x, y 的两个顶点中有且只有一个同时在顶点 p 的子树与顶点 q 的子树里。 现在告诉你,在阶段 1,有恰好一条蓝色的边被删除了, 而在阶段 i,若我们删除了边(u1,v1),(u2,v2),...,(uk,vk)。 那么在阶段i+1 我们要删除的所有满足以下条件的边(x,y): 1.边(x,y)未被删除。 2.存在一个i(i ≤ k)使得边(x,y)有害于(ui, vi)。 当某个阶段没有删除任何边时,则整个过程结束,你需要回答,每个阶段哪些边将被删除。 注意,有害边的定义只依赖于开始删边之前的初始就拥有的两棵有根树。

Format

Input

输入第一行为整数 n,表示两棵树的顶点数目。 接下来的一行包含 n-1 个正整数a2, a3, . . . , an(1 ≤ ai ≤ n; ai不等于 i),描述第一棵树的边。数字ai意味着第一棵树有一条边连接顶点ai和顶点i。 接下来的一行包含 n-1 个正整数b2, b3, . . . , bn(1 ≤ bi ≤ n; bi不等于 i),描述第二棵树的边。数字bi意味着第一棵树有一条边连接顶点bi和顶点i。 接下来的再一行包含一个整数 idx(1 ≤ idx < n)表示在第一阶段中删除的蓝树的边的编号。我们让每棵树的每条边按照他们在输入中的前后顺序从 1 到 n-1 编号。

Output

对于每个阶段输出两行。如果这个阶段删除的边是蓝色的,那么对应这一阶段的两行中,第一行必须为单词 Blue,否则为单词 Red。对应的第二行包含所有此阶段删除的边的编号,按数字递增顺序输出。

Samples

5
1 1 1 1
4 2 1 1
3
Blue
3
Red
1 3
Blue
1 2
Red
2
10
10 1 5 10 8 1 1 7 8
6 1 1 1 5 1 4 6 7
4
Blue
4
Red
3 4 5 7
Blue
1 3 5 7 8 9
Red
1 8 9

Limitation

对于30% 的数据,n<=100。 对于60% 的数据,n<=1000。 对于100% 的数据,n<=200000。