#include <bits/stdc++.h>
using namespace std;
int n;
string upper;
string lower;
char ans[10];
bool queryUpper(int r, int c) {
  printf("? %d %d %d %d\n", r, c, n, n);
  fflush(stdout);
  scanf(" %s", ans);
  return (ans[0] == 'Y');
}
bool queryLower(int r, int c) {
  printf("? %d %d %d %d\n", 1, 1, r, c);
  fflush(stdout);
  scanf(" %s", ans);
  return (ans[0] == 'Y');
}
void genUpper() {
  int r = 1, c = 1;
  while (r + c < n + 1) {
    if (queryUpper(r + 1, c)) {
      upper += 'D';
      ++r;
    } else {
      upper += 'R';
      ++c;
    }
  }
}
void genLower() {
  int r = n, c = n;
  while (r + c > n + 1) {
    if (queryLower(r, c - 1)) {
      lower += 'R';
      --c;
    } else {
      lower += 'D';
      --r;
    }
  }
  reverse(lower.begin(), lower.end());
}
int main() {
  cin >> n;
  genUpper();
  genLower();
  cout << "! " << upper << lower << endl;
  return 0;
}
