#include <bits/stdc++.h>
using namespace std;
inline void readI(int *i) {
  register int t = 0;
  register char z = getchar();
  int znak = 1;
  if (z == '-') {
    znak = -1;
  }
  while ((z < '0') || ('9' < z)) {
    z = getchar();
    if (z == '-') {
      znak = -1;
    }
  }
  while (('0' <= z) && (z <= '9')) {
    t = (t << 3) + (t << 1) + z - '0';
    z = getchar();
  }
  *i = (t * znak);
}
inline void readUI(int *i) {
  register int t = 0;
  register char z = getchar();
  while ((z < '0') || ('9' < z)) {
    z = getchar();
  }
  while (('0' <= z) && (z <= '9')) {
    t = (t << 3) + (t << 1) + z - '0';
    z = getchar();
  }
  *i = t;
}
inline void readL(long long int *l) {
  register long long int t = 0;
  register char z = getchar();
  int znak = 1;
  if (z == '-') {
    znak *= -1;
  }
  while ((z < '0') || ('9' < z)) {
    z = getchar();
    if (z == '-') {
      znak = -1;
    }
  }
  while (('0' <= z) && (z <= '9')) {
    t = (t << 3) + (t << 1) + z - '0';
    z = getchar();
  }
  *l = (t * znak);
}
inline void readUL(long long int *l) {
  register long long int t = 0;
  register char z = getchar();
  while ((z < '0') || ('9' < z)) {
    z = getchar();
  }
  while (('0' <= z) && (z <= '9')) {
    t = (t << 3) + (t << 1) + z - '0';
    z = getchar();
  }
  *l = t;
}
inline void writeL(long long int l) {
  if (l == 0) {
    putchar(48);
  } else {
    if (l < 0) {
      l *= -1;
      putchar(45);
    }
    int _tab[21];
    int wsk = 0;
    while (l > 0) {
      ++wsk;
      _tab[wsk] = (l % 10) + 48;
      l /= 10;
    }
    for (int j = wsk; j >= 1; --j) {
      putchar(_tab[j]);
    }
  }
}
inline void writeS(string s) {
  int l = s.length();
  for (int i = 0; i < l; ++i) {
    putchar(s[i]);
  }
}
long long int n, upper, lower;
int k;
bool pytaj(long long int a, long long int b) {
  writeL(a);
  fprintf(stdout, " ");
  writeL(b);
  fprintf(stdout, "\n");
  fflush(stdout);
  string s;
  cin >> s;
  return s[0] == 'Y';
}
int main() {
  mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
  readUL(&n);
  readUI(&k);
  lower = 1;
  upper = n;
  while (true) {
    while (upper - lower + 1 > max(20LL, 5LL * k)) {
      long long int mid = ((lower + upper) >> 1);
      bool gg = pytaj(lower, mid);
      if (gg) {
        lower = max(1LL, lower - k);
        upper = min(n, mid + k);
      } else {
        lower = max(1LL, mid - k);
        upper = min(n, upper + k);
      }
    }
    long long int shot =
        uniform_int_distribution<long long int>(lower, upper)(rng);
    bool gg = pytaj(shot, shot);
    if (gg) {
      exit(0);
    }
    lower = max(1LL, lower - k);
    upper = min(n, upper + k);
  }
  return 0;
}
