n,m,K,S,T=map(int,input().split()) S-=1 T-=1 if K%2: print("Yes") exit() e=[[] for i in range(n)] for i in range(m): u,v=map(int,input().split()) u-=1 v-=1 e[u]+=[v] e[v]+=[u] v=[0]*n q=[S] v[S]=1 for s in q: for t in e[s]: if v[t]==0: v[t]=1 q+=[t] if v[T]==0: if sum(v)>1: print("Yes") exit() v=[0]*n q=[T] v[T]=1 for s in q: for t in e[s]: if v[t]==0: v[t]=1 q+=[t] if sum(v)>1: print("Yes") exit() print("No") exit() if len(e[S])>=2 or len(e[T])>=2: print("Yes") exit() if T not in e[S]: print("Yes") exit() o=10**20 for i in range(n): if i in [S,T]: continue v=[-1]*n q=[i] v[i]=0 for s in q: for t in e[s]: if v[t]==-1: v[t]=v[s]+1 q+=[t] elif v[t]==v[s]: o=min(o,v[s]*2+1) if o<=K-3: print("Yes") exit() print("No")