#include <bits/stdc++.h>
using namespace std;
double pi = acos(-1.0);
const long long mod = 1000000007;
const double eps = 1e-12;
const int inf = 0x3f3f3f3f;
const int maxn = 2e6 + 20;
const int maxm = 5e3 + 20;
inline int in(int &ret) {
  char c;
  int sgn;
  if (c = getchar(), c == EOF) return -1;
  while (c != '-' && (c < '0' || c > '9')) c = getchar();
  sgn = (c == '-') ? -1 : 1;
  ret = (c == '-') ? 0 : (c - '0');
  while (c = getchar(), c >= '0' && c <= '9') ret = ret * 10 + (c - '0');
  ret *= sgn;
  return 1;
}
bool ask(long long l, long long r) {
  printf("%lld %lld\n", l, r);
  fflush(stdout);
  char s[5];
  scanf("%s", s);
  return s[0] == 'Y';
}
long long getrand(long long len) {
  return (1ULL * rand() * rand() >> 2 | rand()) % len;
}
int main() {
  long long n;
  scanf("%lld", &n);
  long long k;
  scanf("%lld", &k);
  long long l = 1, r = n;
  srand(time(NULL));
  for (;;) {
    long long mid = (l + r) >> 1;
    long long len = (r - l + 1);
    if (len <= 45) {
      long long idx = rand() % len;
      long long pos = l + idx;
      if (ask(pos, pos)) return 0;
      l = max(1LL, l - k), r = min(n, r + k);
    } else {
      if (ask(l, mid))
        r = mid;
      else
        l = mid + 1;
      l = max(1LL, l - k), r = min(n, r + k);
    }
  }
  return 0;
}
