#include <bits/stdc++.h>
using namespace std;
bool cmp(const pair<int, int>& a, const pair<int, int>& b) {
  return (a.first == b.first ? (a.second < b.second) : (a.first < b.first));
}
int binarySearch(int& a, int& b, vector<pair<int, int> >& waste) {
  int left = -1, right = waste.size();
  while (left + 1 < right) {
    int con = (left + right) / 2;
    if (waste[con].first == a) {
      if (waste[con].second == b)
        return -1;
      else {
        if (waste[con].second > b) {
          right = con;
        } else
          left = con;
      }
    } else {
      if (waste[con].first > a) {
        right = con;
      } else
        left = con;
    }
  }
  return right + 1;
}
int main() {
  int n, m, wa, qu;
  cin >> n >> m >> wa >> qu;
  vector<pair<int, int> > waste(wa);
  for (int i = 0; i < wa; ++i) {
    scanf("%d %d", &waste[i].first, &waste[i].second);
  }
  sort(waste.begin(), waste.end(), cmp);
  vector<string> base = {"Carrots", "Kiwis", "Grapes"};
  for (int i = 0; i < qu; ++i) {
    static int a, b;
    scanf("%d %d", &a, &b);
    int sft = binarySearch(a, b, waste);
    cout << (sft == -1 ? "Waste" : base[((a - 1) * m + b - (sft % 3) + 3) % 3])
         << endl;
  }
  return 0;
}
