atcoder#ABC286G. [ABC286G] Unique Walk

[ABC286G] Unique Walk

Score : 600600 points

Problem Statement

You are given a simple connected undirected graph GG with NN vertices and MM edges. The vertices of GG are numbered vertex 11, vertex 22, \ldots, and vertex NN, and its edges are numbered edge 11, edge 22, \ldots, and edge MM. Edge ii connects vertex UiU_i and vertex ViV_i. You are also given a subset of the edges: S={x1,x2,,xK}S=\{x_1,x_2,\ldots,x_K\}.

Determine if there is a walk on GG that contains edge xx exactly once for all xSx \in S. The walk may contain an edge not in SS any number of times (possibly zero).

What is a walk? A walk on an undirected graph G is a sequence consisting of k vertices (k is a positive integer) and (k-1) edges occurring alternately, v_1,e_1,v_2,\ldots,v_{k-1},e_{k-1},v_k, such that edge e_i connects vertex v_i and vertex v_{i+1}. The sequence may contain the same edge or vertex multiple times. A walk is said to contain an edge x exactly once if and only if there is exactly one 1\leq i\leq k-1 such that e_i=x.

Constraints

  • 2N2×1052 \leq N \leq 2\times 10^5
  • $N-1 \leq M \leq \min(\frac{N(N-1)}{2},2\times 10^5)$
  • $1 \leq U_i
  • If iji\neq j, then (Ui,Vi)(Uj,Vj)(U_i,V_i)\neq (U_j,V_j) .
  • GG is connected.
  • 1KM1 \leq K \leq M
  • $1 \leq x_1
  • All values in the input are integers.

Input

The input is given from Standard Input in the following format:

NN MM

U1U_1 V1V_1

U2U_2 V2V_2

\vdots

UMU_M VMV_M

KK

x1x_1 x2x_2 \ldots xKx_K

Output

Print Yes if there is a walk satisfying the condition in the Problem Statement; print No otherwise.

6 6
1 3
2 3
3 4
4 5
4 6
5 6
4
1 2 4 5
Yes

The walk $(v_1,e_1,v_3,e_3,v_4,e_4,v_5,e_6,v_6,e_5,v_4,e_3,v_3,e_2,v_2)$ satisfies the condition, where viv_i denotes vertex ii and eie_i denotes edge ii. In other words, the walk travels the vertices on GG in this order: 134564321\to 3\to 4\to 5\to 6\to 4\to 3\to 2. This walk satisfies the condition because it contains edges 11, 22, 44, and 55 exactly once each.

6 5
1 2
1 3
1 4
1 5
1 6
3
1 2 3
No

There is no walk that contains edges 11, 22, and 33 exactly once each, so No should be printed.