#include<iostream>
#include<cstdio>
#include<algorithm>
#include<vector> 
#include<cstring>
#include<string>
#define mp make_pair
#define scn second
#define frs first
#define pb push_back
#define NAME "war"
using namespace std;
const unsigned long long P=239017, MaxN=2100000, INF=100000000;
typedef unsigned long long ull;
typedef long long ll;
typedef pair<int, int> pi;

int n, m, t, a, b, st, K, d[100100], k[100100];
int add[100100];
vector<int> q, g[100100];



int main(){
	freopen(NAME ".in", "r", stdin); 
	freopen(NAME ".out", "w", stdout); 
	scanf("%d%d%d", &n, &m, &t);
	for (int i = 1; i <= n; ++i) 
		scanf("%d", &k[i]);
	for (int i = 1; i <= m; ++i) 
		scanf("%d%d", &a, &b), g[a].pb(b), g[b].pb(a);
	scanf("%d%d", &st, &K);
	q.pb(st);
	d[st] = 1;
	int p = 0;
	while (p < q.size()) {
	 	int v = q[p++];
	 	for (int i = 0; i < g[v].size(); ++i) {
	 		int to = g[v][i];
	 		if (d[to])
	 			continue;
	 		q.pb(to);
	 		d[to] = d[v] + 1;
	 	}
	}
	for (int i = 1; i <= n; ++i) 
		add[d[i] - 1] += k[i];
   	int now = k[st];
	for (int i = 0; i <= n; ++i) {
		int y = min(t, min(K, now));
		now -= y;
		K -= y;
		if (K == 0) {
			printf("Vampires win");
			return 0;
		}	
		if (now == 0) {
			printf("Werewolves win");
			return 0;
		}
		now += add[i + 1];
	}
	if (now >= K)
		printf("Vampires win");
	else		
	    printf("Werewolves win");		
	return 0;
}