package main import . "fmt" func main() { var n,m,s,g int Scan(&n,&m,&s,&g) graph := make([][]int, n+1) for ; m > 0; m-- { var f,t int Scan(&f,&t) graph[f] = append(graph[f], t) graph[t] = append(graph[t], f) } var u int Scan(&u) for ; u > 0; u-- { var i int Scan(&i) graph[i] = nil } visited := make([]bool, n+1) visited[s] = true stk := []int{s} for len(stk) > 0 { l := len(stk)-1 p := stk[l] stk = stk[:l] if p == g { Println("Yes") return } for _, next := range graph[p] { if visited[next] { continue } visited[next] = true stk = append(stk, next) } } Println("No") }