func_code_string: #include <bits/stdc++.h>   using namespace std;   int sum = 0;   vector<vector<int>> mat;   vector<string> mat2;   void f1(vector<string>& ans, int f, string s) {     if (f == 0) return;     string s1 = to_string(f) +     + s;     ans.push_back(s1);     sum += f * s.length();     vector<int> temp(2, 0);     temp[0] = f;     temp[1] = s.length();     mat.push_back(temp);     mat2.push_back(s);   }   string frs(char c, int fre) {     string ans =   ;     for (int i = 0; i < fre; i++) {       ans = ans + c;     }     return ans;   }   int main() {     int n, m, k;     cin >> n >> m >> k;     vector<string> ans;     string s;     int f = (m - 1) / 4;     f1(ans, f,  RRRR );     if ((m - 1) % 4) f1(ans, 1, frs( R , (m - 1) % 4));     f = (m - 1) / 4;     f1(ans, f,  LLLL );     if ((m - 1) % 4) f1(ans, 1, frs( L , (m - 1) % 4));     for (int i = 0; i < n - 1; i++) {       f1(ans, 1,  D );       f1(ans, m - 1,  RUD );       f = (m - 1) / 4;       f1(ans, f,  LLLL );       if ((m - 1) % 4) f1(ans, 1, frs( L , (m - 1) % 4));     }     f = (n - 1) / 4;     f1(ans, f,  UUUU );     if ((n - 1) % 4) f1(ans, 1, frs( U , (n - 1) % 4));     int N = ans.size();     if (sum < k) {       cout <<  NO ;     } else {       cout <<  YES  << endl;       vector<string> v;       int cur = 0;       for (int i = 0; i < N; i++) {         if (cur == k) break;         int l = mat[i][0] * mat[i][1];         if (cur + l <= k) {           v.push_back(ans[i]);           cur += l;         } else {           int len = k - cur;           f = len / mat[i][1];           string s;           if (f) {             s = to_string(f) +     + mat2[i];             v.push_back(s);           }           if (len % (mat[i][1])) {             s =  1   + mat2[i].substr(0, len % (mat[i][1]));             v.push_back(s);           }           break;         }       }       N = v.size();       cout << N << endl;       for (int j = 0; j < N; j++) {         cout << v[j] << endl;       }     }     return 0;   }   