#include <bits/stdc++.h>
using namespace std;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  int n, m, k;
  while (cin >> n >> m >> k) {
    bool rotate = m == 1;
    if (rotate) {
      swap(n, m);
    }
    int l[4] = {m - 1, 2 * (m - 1),
                2 * (m - 1) + (n - 1) * ((1 + 3 * (m - 1)) + (m - 1)),
                4 * n * m - 2 * n - 2 * m};
    if (k > l[3]) {
      cout << "NO" << endl;
    } else {
      vector<pair<int, string>> steps;
      if (k > l[2]) {
        steps.push_back({k - l[2], "U"});
        k = l[2];
      }
      if (k > l[1]) {
        int line = (1 + 3 * (m - 1)) + (m - 1), r = (k - l[1]) % line,
            x = (k - l[1]) / line;
        if (r > 1 + 3 * (m - 1)) {
          steps.push_back({r - (1 + 3 * (m - 1)), "L"});
          r = 1 + 3 * (m - 1);
        }
        if (r > 1) {
          int r2 = (r - 1) % 3, x2 = (r - 1) / 3;
          if (r2) steps.push_back({1, r2 == 1 ? "R" : "RU"});
          if (x2) steps.push_back({x2, "RUD"});
          r = 1;
        }
        if (r) {
          steps.push_back({1, "D"});
        }
        while (x--) {
          steps.push_back({m - 1, "L"});
          steps.push_back({m - 1, "RUD"});
          steps.push_back({1, "D"});
        }
        k = l[1];
      }
      if (k > l[0]) {
        steps.push_back({k - l[0], "L"});
        k = l[0];
      }
      if (k > 0) {
        steps.push_back({k, "R"});
      }
      cout << "YES\n" << steps.size() << endl;
      for (auto it = steps.rbegin(); it != steps.rend(); it++) {
        if (rotate) {
          string &s = it->second;
          for (int i = 0; i < s.size(); i++) {
            if (s[i] == 'R') {
              s[i] = 'D';
            }
            if (s[i] == 'L') {
              s[i] = 'U';
            }
          }
        }
        cout << it->first << " " << it->second << endl;
      }
    }
  }
  return 0;
}
