#include <bits/stdc++.h>
using namespace std;
using ll = long long;
template <typename T>
ostream &operator<<(ostream &o, const vector<T> &v) {
  for (size_t i = 0; i < v.size(); i++)
    o << v[i] << (i + 1 != v.size() ? " " : "");
  return o;
}
template <int n, class... T>
typename enable_if<(n >= sizeof...(T))>::type _ot(ostream &,
                                                  tuple<T...> const &) {}
template <int n, class... T>
typename enable_if<(n < sizeof...(T))>::type _ot(ostream &os,
                                                 tuple<T...> const &t) {
  os << (n == 0 ? "" : ", ") << get<n>(t);
  _ot<n + 1>(os, t);
}
template <class... T>
ostream &operator<<(ostream &o, tuple<T...> const &t) {
  o << "(";
  _ot<0>(o, t);
  o << ")";
  return o;
}
template <class T, class U>
ostream &operator<<(ostream &o, pair<T, U> const &p) {
  o << "(" << p.first << ", " << p.second << ")";
  return o;
}
int n;
int cnt = 0;
int ask(int y1, int x1, int y2, int x2) {
  cnt++;
  assert(cnt <= 4 * n);
  assert(abs(y2 - y1) + abs(x2 - x1) >= n - 1);
  if (y1 > y2) swap(y1, y2);
  if (x1 > x2) swap(x1, x2);
  cout << "? " << y1 + 1 << " " << x1 + 1 << " " << y2 + 1 << " " << x2 + 1
       << endl;
  string s;
  cin >> s;
  assert(s != "BAD");
  return s[0] == 'Y';
}
string ans;
int yy, xx;
int dfs(int y1, int x1, int y2, int x2, int i, int ok, int rev) {
  if (!ok && !ask(y1, x1, y2, x2)) return 0;
  if (abs(y2 - y1) + abs(x2 - x1) == n - 1) return 1;
  int sg = y2 - y1 < 0 ? -1 : 1;
  if (rev) {
    if (dfs(y1, x1, y2 - sg, x2, i - sg, 0, rev)) {
      ans[i] = 'D';
    } else if (dfs(y1, x1, y2, x2 - sg, i - sg, 1, rev)) {
      ans[i] = 'R';
    }
  } else {
    if (dfs(y1, x1, y2, x2 - sg, i - sg, 0, rev)) {
      ans[i] = 'R';
    } else if (dfs(y1, x1, y2 - sg, x2, i - sg, 1, rev)) {
      ans[i] = 'D';
    }
  }
  return 1;
}
int main() {
  std::ios::sync_with_stdio(false), std::cin.tie(0);
  cin >> n;
  ans = string(2 * n - 2, '-');
  dfs(0, 0, n - 1, n - 1, 2 * n - 3, 1, 0);
  dfs(n - 1, n - 1, 0, 0, 0, 1, 1);
  assert((int)ans.find('-') == -1);
  cout << "! " << ans << endl;
  return 0;
}
