#P1869. 树上选点

树上选点

Description

给定一颗含有n个点的树,对于一个点集,如果树中有一条路径可以通过该集合的每个顶点且不会访问任何一条树边超过两次,那么我们认为这一个点集是“懒惰点集”(路径可以访问不在集合中的顶点但在集合中的顶点必须全部访问过)。

现在Stitch给了你一棵树和这棵树上的q个点集,每个点集中包含k个点,对于每个点集你需要单独回答这个点集是否是“懒惰点集”。

Input Format

输入第一行为一个整数n(1≤n≤200000)表示树上点的个数,点的编号为1~n。

接下来n-1行每行有两个整数u,v(1≤u,v≤n),表示u号点和v号点之间有一条树边。

接下来一行为一个整数q(1≤q≤100000)表示Stitch想让你回答的问题个数。

接下来2*q行中对于每两行,第一行包含一个整数k(1≤k≤n)表示点集中点的个数

第二行包含k个整数表示点集中的点,每个点的编号p满足1≤p≤n

保证q个询问中所有k的和不超过400000

Output Format

输出包含q行,对于每个询问,如果该点集是“懒惰点集“,则输出"YES",否则输出"NO"。

5
1 2
2 3
2 4
4 5
5
3
3 2 5
5
1 2 3 4 5
2
1 4
3
1 3 5
3
1 5 4​
YES
NO
YES
NO
YES