#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
const long double PI = (long double)(3.1415926535897932384626433832795);
inline bool ispow2(int x) { return (x != 0 && (x & (x - 1)) == 0); }
int msb(unsigned x) {
  union {
    double a;
    int b[2];
  };
  a = x;
  return (b[1] >> 20) - 1023;
}
template <class T>
inline void cinarr(T a, int n) {
  for (int i = 0; i < n; ++i) cin >> a[i];
}
inline long long powmod(long long a, long long b) {
  long long res = 1;
  while (b) {
    if (b & 1) res = (res * a) % mod;
    a = (a * a) % mod;
    b >>= 1;
  }
  return res;
}
int fastMax(int x, int y) { return (((y - x) >> (32 - 1)) & (x ^ y)) ^ y; }
int fastMin(int x, int y) { return (((y - x) >> (32 - 1)) & (x ^ y)) ^ x; }
inline long long gcd(long long a, long long b) {
  long long t;
  while (b) {
    a = a % b;
    t = a;
    a = b;
    b = t;
  }
  return a;
}
inline long long lcm(long long a, long long b) { return a / gcd(a, b) * b; }
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  int n, x, y;
  cin >> n >> x >> y;
  vector<string> word;
  long long cntx = 0ll, cnty = 0ll;
  while (cntx < x || cnty < y) {
    if ((cntx + 1) * y > (cnty + 1) * x) {
      word.push_back("Vova");
      cnty++;
    }
    if ((cntx + 1) * y < (cnty + 1) * x) {
      word.push_back("Vanya");
      cntx++;
    }
    if ((cntx + 1) * y == (cnty + 1) * x) {
      word.push_back("Both");
      word.push_back("Both");
      cnty++;
      cntx++;
    }
  }
  for (int i = 0; i < n; i++) {
    long long t;
    cin >> t;
    t--;
    cout << word[t % (x + y)] << "\n";
  }
  return 0;
}
