#include<bits/stdc++.h>
using namespace std;
using i64 = long long;
void solve() {
int n; cin >> n;
vector<int> bad(n);
for (auto& a : bad) cin >> a;
vector<vector<int>> g(n);
for (int i = 0; i < n - 1; i++) {
int u, v; cin >> u >> v;
--u; --v;
g[u].push_back(v);
g[v].push_back(u);
}
const int inf = 1e9;
vector<int> dist(n, inf);
vector<int> q;
for (int i = 0; i < n; i++) {
if (bad[i]) {
dist[i] = 0;
q.push_back(i);
}
}
for (int i = 0; i < q.size(); i++) {
int u = q[i];
for (auto& v : g[u]) {
if (dist[v] == inf) {
dist[v] = dist[u] + 1;
q.push_back(v);
}
}
}
int tt; cin >> tt;
while (tt--) {
int c, p; cin >> c >> p;
--c; --p;
cout << (dist[p] <= dist[c] ? "weee" : "oops") << '\n';
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int tt = 1;
// cin >> tt;
for(int t = 1; t <= tt; t++) {
solve();
}
}