func_code_string: #include <bits/stdc++.h>   const long long maxn = 1e4 + 10;   inline long long Max(long long a, long long b) { return a > b ? a : b; }   inline long long Min(long long a, long long b) { return a > b ? b : a; }   namespace FastIO {   inline long long read() {     long long f = 1, r = 0;     char c = getchar();     while (!isdigit(c)) {       if (c ==  - ) {         f = -1;       }       c = getchar();     }     while (isdigit(c)) {       r = 10 * r + c -  0 ;       c = getchar();     }     return f * r;   }   inline void write(long long x) {     if (x < 0) putchar( - ), x = -x;     if (x > 9) write(x / 10);     putchar(x % 10 +  0 );   }   inline void writesp(long long x) { write(x), putchar(   ); }   inline void writeln(long long x) { write(x), puts(  ); }   };  // namespace FastIO   using namespace FastIO;   long long N;   inline bool ask(long long x1, long long y1, long long x2, long long y2) {     putchar( ? ), putchar(   );     writesp(x1), writesp(y1), writesp(x2), writeln(y2);     fflush(stdout);     std::string s;     std::cin >> s;     return s ==  YES ;   }   signed main() {     std::cin >> N;     long long nowx = 1, nowy = 1;     std::string s1 =   ;     while (true) {       if (nowx + nowy == N + 1) {         break;       }       if (nowx == N) {         nowy++, s1.push_back( R );       } else if (nowy == N) {         nowx++, s1.push_back( D );       } else {         if (ask(nowx + 1, nowy, N, N)) {           nowx++, s1.push_back( D );         } else {           nowy++, s1.push_back( R );         }       }     }     nowx = N, nowy = N;     std::string s2 =   ;     while (true) {       if (nowx + nowy == N + 1) {         break;       }       if (nowx == 1) {         nowy--, s2.push_back( R );       } else if (nowy == 1) {         nowx--, s2.push_back( D );       } else {         if (ask(1, 1, nowx, nowy - 1)) {           nowy--, s2.push_back( R );         } else {           nowx--, s2.push_back( D );         }       }     }     std::reverse(s2.begin(), s2.end());     putchar( ! ), putchar(   );     std::string res = s1 + s2;     std::cout << res << std::endl;     return 0;   }   