与此同时,K国正筹备国王女儿的婚礼。然而,为了不在亲戚们的前丢脸,国王必须先完成国内的改革。由于国王已经急不可耐,改革必须尽快完成。
该王国目前由n座城市组成。这些城市通过n-1条双向道路相连,确保任意城市间均可通行。由于国王需要节省开支,任意两座城市之间仅有一条路径。
改革的意义何在?国家的关键部门应当迁移至不同的城市(我们称之为重要城市)。然而,由于面临蛮族攻击的高风险,此事必须谨慎推进。国王已制定多套方案,每套方案都由一组重要城市构成,现正思索最佳方案。
蛮族可以攻占一些不重要的城市(重要的城市肯定会有足够的防御),攻占后该城市将无法通行。计划的一个特征在于蛮族需要攻占的最少城市数量,以使所有重要城市彼此孤立,即从任何重要城市都无法抵达其他重要城市。
帮国王计算出他每个计划的这一特征。
输入的第一行包含整数 n ( 1<=n<=100000 ),表示王国中的城市数量。
接下来的 n-1 行中,每行包含两个不同的整数 u_i 和 v_i ( 1<=u_i,v_i<=n ),表示第 i 条道路连接的两个城市的编号。保证仅通过现有道路即可从任意城市到达其他任意城市。
下一行包含一个整数 q ( 1<=q<=100000 ),表示国王计划的数量。
接下来的每行内容格式如下:首先给出数字 k_i ,表示国王计划中的重要城市数量( 1<=k_i<=n ),随后紧跟恰好 k_i 个互不相同的、用空格分隔的数字(范围为1到n),这些数字代表该计划中的重要城市编号。
所有 k_i 的总和不超过 100000 。
对于每个计划,打印一个整数——野蛮人需要占领的最小城市数量,或者如果所有野蛮人隔离重要城市的尝试都无效,则打印-1。
4 1 3 2 3 4 3 4 2 1 2 3 2 3 4 3 1 2 4 4 1 2 3 4
1 -1 1 -1
7 1 2 2 3 3 4 1 5 5 6 5 7 1 4 2 4 6 7
2
在第一个测试样例中,在第一个和第三个国王的计划中,蛮族可以占领城市3,这就足够了。在第二和第四个计划中,他们的所有尝试都不会奏效。
在第二个测试样例中,要占领的城市是3和5。
codeforce