#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m, k, t;
  cin >> n >> m >> k >> t;
  vector<pair<int, int>> waste_positions;
  int waste_row, waste_col;
  while (k--) {
    cin >> waste_row >> waste_col;
    waste_positions.push_back({waste_row, waste_col});
  }
  sort(waste_positions.begin(), waste_positions.end());
  while (t--) {
    pair<int, int> query_pos;
    cin >> query_pos.first >> query_pos.second;
    if (binary_search(waste_positions.begin(), waste_positions.end(),
                      query_pos))
      cout << "Waste\n";
    else {
      int one_d_query_pos = (query_pos.first + query_pos.second - 2) +
                            (m - 1) * (query_pos.first - 1);
      int wastes_before_query_pos =
          lower_bound(waste_positions.begin(), waste_positions.end(),
                      query_pos) -
          waste_positions.begin();
      switch ((one_d_query_pos - wastes_before_query_pos) % 3) {
        case 0:
          cout << "Carrots\n";
          break;
        case 1:
          cout << "Kiwis\n";
          break;
        case 2:
          cout << "Grapes\n";
          break;
      }
    }
  }
}
