#P5014. 「长乐集训 2017 Day5」红与蓝

「长乐集训 2017 Day5」红与蓝

Description

小红和小蓝正在给定的一棵树上进行游戏。这棵树中每个结点会有一个颜色,初始时非叶结点均是无色,叶子结点会是红色,蓝色或是无色三种情况之一。

现在小红和小蓝轮流给一个无色的叶子结点染上颜色(小红会染上红色,小蓝染上蓝色),小红先染。所有叶子都有颜色后,非叶结点的颜色将会逐一确定:一个非叶结点的颜色是它所有儿子的颜色中出现次数较多的那个(保证每个结点都有奇数个儿子)。最后,根是谁的儿子,谁就会获胜。

现在请你告诉小红,她是否能赢,若能赢的话,还请你告诉她,她第一步选择哪些叶子能赢。

Input Format

第一行一个整数 TT 表示数据组数。

每组数据第一行一个整数 nn 表示树的结点数,结点从 1n1 \sim n 编号。

第二行 nn 个整数,第 ii 个整数,第 ii 个整数 fif_i 表示 ii 号结点的父亲,保证 f1=0.f_1=0. 注意不保证 fi<if_i<i

第三行 nn 个整数,第 ii 个整数 gig_i 表示 ii 号结点初始时的颜色,gi=0g_i = 0 表示红色,gi=1g_i=1 表示蓝色,gi=1g_i=-1 表示无色。保证非叶结点都是无色。

Output Format

每组数据输出一行。

若小红可以赢则先输出一个正整数 mm 表示第一步可以选的叶子数,接下来 mm 个正整数表示那些叶子的编号,要求从小到大输出。

若你只知道小红能赢,则你可以只输出一行单独一个 0.0.

否则(小红不能赢),请输出一个整数 1.-1.

Sample

样例输入

2
2
0 1
-1 -1
2
0 1
-1 1

样例输出

1 2
-1

Hint

20%20\% 的数据:1n20, T=11\leq n\leq 20,\ T=1

60%60\% 的数据:1n20001\leq n\leq 2000

100%100\% 的数据:1n1051\leq n\leq 10^51T101\leq T \leq 10,若你判断对了胜负,你就可以得到该测试点一半的分数。