#include <bits/stdc++.h>
using namespace std;
int n, m, k, t;
string c[] = {"Carrots", "Kiwis", "Grapes", "Waste"};
vector<vector<int> > field;
vector<int> cnt;
int sch(int i, int val) {
  int j = 0;
  while (j < field[i].size() && val > field[i][j]) j++;
  return j;
}
int ans(int x, int y) {
  int beg = (x * m - cnt[x]) % 3, pos = sch(x, y);
  if (field[x].size() != 0) {
    if (field[x].size() == pos)
      return (y - pos + beg) % 3;
    else if (field[x][pos] == y)
      return 3;
    else
      return (y - pos + beg) % 3;
  } else
    return (y + beg) % 3;
}
int main() {
  cin >> n >> m >> k >> t;
  field.resize(n);
  cnt.resize(n);
  for (int i = 0; i < k; i++) {
    int a, b;
    cin >> a >> b;
    a--, b--;
    field[a].push_back(b);
  }
  sort(field[0].begin(), field[0].end());
  cnt[0] = 0;
  for (int i = 1; i < n; i++) {
    sort(field[i].begin(), field[i].end());
    cnt[i] = cnt[i - 1] + field[i - 1].size();
  }
  for (int i = 0; i < t; i++) {
    int x, y;
    cin >> x >> y;
    x--, y--;
    cout << c[ans(x, y)] << endl;
  }
  return 0;
}
