#include <bits/stdc++.h>
using namespace std;
const int N = 1000000000;
vector<pair<int, int> > points;
vector<int> colors;
bool bothdiff = false;
int le = -1, ri = -1;
void generate(int n, int x1, int y1, int x2, int y2) {
  if (n > 0) {
    int midx = (x1 + x2) / 2;
    int midy = (y1 + y2) / 2;
    cout << midx << " " << midy << endl;
    fflush(stdout);
    string s;
    cin >> s;
    points.push_back(make_pair(midx, midy));
    int currcolor;
    if (s == "black")
      currcolor = 0;
    else
      currcolor = 1;
    colors.push_back(currcolor);
    if (ri == -1) {
      if (currcolor != le) {
        ri = currcolor;
        generate(n - 1, x1, y1, midx, midy);
      } else {
        generate(n - 1, midx, midy, x2, y2);
      }
    } else {
      if (currcolor != le) {
        ri = currcolor;
        generate(n - 1, x1, y1, midx, midy);
      } else {
        le = currcolor;
        generate(n - 1, midx, midy, x2, y2);
      }
    }
  }
}
int32_t main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);
  int n;
  cin >> n;
  if (n == 1) {
    cout << "0 0" << endl;
    fflush(stdout);
    string s;
    cin >> s;
    cout << "1 0 1 2" << endl;
    fflush(stdout);
  } else {
    cout << "0 0" << endl;
    fflush(stdout);
    points.push_back(make_pair(0, 0));
    string s;
    int zerocolor;
    cin >> s;
    if (s == "black") {
      le = 0;
    } else
      le = 1;
    zerocolor = le;
    colors.push_back(le);
    generate(n - 1, 0, 0, N, N);
    int maxix = 0;
    for (int i = 0; i < points.size(); i++) {
      if (colors[i] == zerocolor) maxix = max(maxix, points[i].first);
    }
    cout << maxix + 1 << " " << maxix << " " << maxix << " " << maxix + 1
         << endl;
  }
  return 0;
}
