func_code_string: #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;   }   