送你一张DAG
题号:NC231637
时间限制:C/C++/Rust/Pascal 3秒,其他语言6秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

Jason有一个神奇的有向图,除了1号点以外,每个点i到中每个点有一条单向边,其中
某天,Jason找了Emma陪他玩游戏。具体地说,他们在图上的某些点各放一个棋子,并拿来了几瓶ad钙奶(也可以不拿)。每次操作要么把某个棋子按所在位置的出边移动一次,要么取走任意数量的ad钙奶。Jason和Emma轮流进行操作,Jason先手。不能操作的人就输了。
他们玩了很多局,每一局Jason会先放棋子,然后Emma决定拿来多少ad钙奶。Jason和Emma都会采取最优策略(Jason居然敢不放水?),Emma想获得胜利,请你每局告诉她,她该拿来多少ad钙奶。

输入描述:

第一行一个正整数n,代表节点数,
接下来n-1行每行两个正整数L_i, R_i
接下来一行一个正整数q,表示进行的局数,
接下来q行,每行第一个正整数为m,接下来m个正整数,代表这些节点上有棋子。

输出描述:

q行,每行一个整数,代表Emma应该在旁边放多少瓶ad钙奶。
示例1

输入

复制
10
1 1
1 2
2 2
4 4
3 3
2 6
3 5
3 3
4 5
3
2 6 3
4 8 5 2 1
1 2

输出

复制
2
3
1