#include<bits/stdc++.h>
using namespace std;

int main(){
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  int N,M;
  cin>>N>>M;
  int S,G;
  cin>>S>>G;
  --S,--G;
  vector<vector<int>>A(N);
  for(int i=0;i<M;i++){
    int u,v;
    cin>>u>>v;
    --u,--v;
    A[u].push_back(v),A[v].push_back(u);
  }
  int U;
  cin>>U;
  vector<bool>NG(N);
  for(int i=0;i<U;i++){
    int a;
    cin>>a;
    NG[a-1]=true;
  }
  queue<int>bfs;
  bfs.push(S);
  vector<bool>vst(N);
  vst[S]=true;
  while(bfs.size()){
    int v=bfs.front();
    bfs.pop();
    if(NG[v])continue;
    for(int i:A[v]){
      if(!vst[i]){
        vst[i]=true;
        bfs.push(i);
      }
    }
  }
  cout<<(vst[G]?"Yes\n":"No\n");
}