#include <bits/stdc++.h>
using namespace std;
int n;
bool qry(int r1, int c1, int r2, int c2) {
  if (r1 < 1 || r1 > n || c1 < 1 || c1 > n || r2 < 1 || r2 > n || c2 < 1 ||
      c2 > n)
    return 0;
  cout << "? " << r1 << " " << c1 << " " << r2 << " " << c2 << endl;
  string x;
  cin >> x;
  return x == "YES";
}
int good1(int a, int b) {
  if (n - a + n - b >= n - 1) return qry(a, b, n, n);
  return -1;
}
int good2(int a, int b) {
  if (a - 1 + b - 1 >= n - 1) return qry(1, 1, a, b);
  throw "GG";
}
map<pair<int, int>, string> ys;
int main() {
  cin >> n;
  pair<int, int> c(1, 1);
  string s;
  ys[c] = "";
  while (c != pair<int, int>(n, n)) {
    int t = good1(c.first + 1, c.second);
    if (t == -1) break;
    if (t)
      s.push_back('D'), ++c.first;
    else
      s.push_back('R'), ++c.second;
    ys[c] = s;
  }
  s = "";
  c = pair<int, int>(n, n);
  while (1) {
    if (ys.count(c)) {
      reverse(s.begin(), s.end());
      cout << "! " << ys[c] << s << endl;
      return 0;
    }
    int t = good2(c.first, c.second - 1);
    if (t)
      s.push_back('R'), --c.second;
    else
      s.push_back('D'), --c.first;
  }
}
