#include using namespace std; int main() { int n, m, s, t, k; cin >> n >> m >> s >> t >> k; s--; t--; vector> g(n); for (int i = 0; i < m; i++) { int a, b; cin >> a >> b; a--; b--; g[a].push_back(b); g[b].push_back(a); } vector dist(n, -1); queue q; dist[s] = 0; q.push(s); while (!q.empty()) { int v = q.front(); q.pop(); for (int nv : g[v]) { if (dist[nv] != -1) { continue; } dist[nv] = dist[v] + 1; q.push(nv); } } if (abs(dist[t] - k) % 2 == 0) { if (dist[t] <= k) { cout << "Yes" << endl; } else { cout << "Unknown" << endl; } } else { cout << "No" << endl; } }