#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int r, c, k;
  cin >> r >> c >> k;
  int ans = 0;
  if (k <= (4 * r * c) - (2 * r) - (2 * c)) {
    cout << "YES" << endl;
    vector<pair<string, int> > v;
    int currx = 0;
    int curry = 0;
    while (curry < r) {
      if (curry < r - 1) {
        if (c - 1) v.push_back({"RDU", c - 1});
      } else {
        if (c - 1) {
          v.push_back({"R", c - 1});
        }
      }
      if (c - 1) v.push_back({"L", c - 1});
      curry++;
      if (curry < r)
        v.push_back({"D", 1});
      else if (r - 1)
        v.push_back({"U", r - 1});
    }
    vector<pair<string, int> > v2;
    for (int i = 0; i < v.size(); i++) {
      if (ans + (v[i].first.length() * v[i].second) <= k) {
        ans += v[i].first.length() * v[i].second;
        if (v2.size()) {
          pair<string, int> lastEl = v2[v2.size() - 1];
          int last_len = lastEl.first.length() * lastEl.second;
          int curr_len = v[i].first.length() * v[i].second;
          if (last_len + curr_len < 5) {
            string str = "";
            for (int ii = 0; ii < lastEl.second; ii++) {
              str += lastEl.first;
            }
            for (int ii = 0; ii < v[i].second; ii++) {
              str += v[i].first;
            }
            v2.pop_back();
            v2.push_back({str, 1});
          } else
            v2.push_back({v[i].first, v[i].second});
        } else
          v2.push_back({v[i].first, v[i].second});
      } else {
        int val = (k - ans) / v[i].first.length();
        if (val) v2.push_back({v[i].first, val});
        int len = (k - ans) % v[i].first.length();
        if (len) v2.push_back({v[i].first.substr(0, len), 1});
        break;
      }
    }
    cout << v2.size() << endl;
    for (int i = 0; i < v2.size(); i++) {
      cout << v2[i].second << " " << v2[i].first << endl;
    }
  } else
    cout << "NO" << endl;
  return 0;
}
