#include <bits/stdc++.h>
using namespace std;
void fastIO() {
  std::ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
}
template <typename T, typename U>
inline void mnze(T &x, U y) {
  if (y < x) x = y;
}
template <typename T, typename U>
inline void mxze(T &x, U y) {
  if (x < y) x = y;
}
void _scan(int &x) { scanf("%d", &x); }
void _scan(long long &x) { scanf("%lld", &x); }
void _scan(double &x) { scanf("%lf", &x); }
void _scan(char &x) { scanf(" %c", &x); }
void _scan(char *x) { scanf("%s", x); }
template <typename T>
void _scan(vector<T> &v) {
  for (int i = 0; i < (int)v.size(); i++) _scan(v[i]);
}
void scan() {}
template <typename T, typename... U>
void scan(T &head, U &...tail) {
  _scan(head);
  scan(tail...);
}
template <typename T>
void _dbg(const char *sdbg, T h) {
  cerr << sdbg << "=" << h << "\n";
}
template <typename T, typename... U>
void _dbg(const char *sdbg, T h, U... t) {
  while (*sdbg != ',') cerr << *sdbg++;
  cerr << "=" << h << ",";
  _dbg(sdbg + 1, t...);
}
long long MOD = 1e9 + 7;
inline long long Msum(long long x) { return x; }
template <typename... Rest>
inline long long Msum(long long x, Rest... rest) {
  return (x + Msum(rest...)) % MOD;
}
inline long long Mprod(long long x) { return x; }
template <typename... Rest>
inline long long Mprod(long long x, Rest... rest) {
  return x * Mprod(rest...) % MOD;
}
inline long long Mnorm(long long x) { return (x % MOD + MOD) % MOD; }
const int MAXN = 1025;
int n, k;
bool a[MAXN];
bool ask(int i) {
  printf("? %d\n", i + 1);
  fflush(stdout);
  char c;
  scan(c);
  return c == 'Y';
}
void reset() {
  printf("R\n");
  fflush(stdout);
}
int main() {
  scan(n, k);
  for (int i = 0; i < n; i++) {
    a[i] = true;
    if (ask(i)) a[i] = false;
  }
  int bz = max(1, k / 2);
  int bn = n / bz;
  for (int i = 0; i < bn; i++)
    for (int j = i + 2; j < bn; j++) {
      int l = i * bz;
      reset();
      for (int k = 0; k < bz; k++)
        if (a[l + k]) ask(l + k);
      l = j * bz;
      for (int k = 0; k < bz; k++)
        if (a[l + k]) {
          if (ask(l + k)) a[l + k] = false;
        }
    }
  int ans = 0;
  for (int i = 0; i < n; i++) ans += a[i];
  printf("! %d\n", ans);
  fflush(stdout);
}
