#include <bits/stdc++.h>
using namespace std;
mt19937 gen(time(0));
bool IS_ONE_TEST = 1;
vector<int> dx = {1, 0, 0, -1};
vector<int> dy = {0, 1, -1, 0};
vector<char> c = {'D', 'R', 'R', 'D'};
void solve() {
  long long n;
  cin >> n;
  int x = 1, y = 1;
  string res = "";
  for (int i = 0; i + 1 < n; ++i) {
    for (int j = 0; j < 2; ++j) {
      int nx = x + dx[j], ny = y + dy[j];
      if (1 <= nx && nx <= n && 1 <= ny && ny <= n) {
        cout << "? " << nx << " " << ny << " " << n << " " << n << endl;
        string ans;
        cin >> ans;
        if (ans == "YES") {
          x = nx;
          y = ny;
        } else {
          x += dx[j ^ 1];
          y += dy[j ^ 1];
        }
        res += (ans == "YES" ? c[j] : c[j ^ 1]);
        break;
      }
    }
  }
  string res2 = "";
  x = n;
  y = n;
  for (int i = 0; i + 1 < n; ++i) {
    for (int j = 0; j < 2; ++j) {
      int nx = x + dx[j + 2], ny = y + dy[j + 2];
      if (1 <= nx && nx <= n && 1 <= ny && ny <= n) {
        cout << "? " << 1 << " " << 1 << " " << nx << " " << ny << endl;
        string ans;
        cin >> ans;
        if (ans == "YES") {
          x = nx;
          y = ny;
        } else {
          x += dx[2 + (j ^ 1)];
          y += dy[2 + (j ^ 1)];
        }
        res2 += (ans == "YES" ? c[2 + j] : c[2 + (j ^ 1)]);
        break;
      }
    }
  }
  reverse(res2.begin(), res2.end());
  cout << "! " << res << res2 << endl;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  cout << fixed << setprecision(15);
  int t;
  if (IS_ONE_TEST)
    t = 1;
  else
    cin >> t;
  while (t-- > 0) {
    solve();
  }
}
