#include #include #include using namespace std; using ll = long long; vectorv; vectorr; vector>g; void dfs(int f,int i,int p,int d){ v[i]=true; for(int j:g[i]){ if(j==p)continue; if(j==f)r[d+1]=true; if(v[j])continue; dfs(f,j,i,d+1); } v[i]=false; return ; } int main(){ ll n,m,k,s,t; cin >> n >> m >> k >> s >> t; s--;t--; v.assign(n,false); g.resize(n); r.assign(n+1,false); for(int i=0;i> u >> v; u--;v--; g[u].push_back(v); g[v].push_back(u); } if(k%2){ cout << "Yes" << endl; return 0; }else{ if((g[s].size()==0 && g[t].size()==0)){ cout << "No" << endl; return 0; }else if((g[s].size()==1&&g[s][0]==t) && (g[t].size()==1&&g[t][0]==s)); else{ cout << "Yes" << endl; return 0; } } for(int i=0;i=x+3){ cout << "Yes" << endl; }else{ cout << "No" << endl; } } }