#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int, int>;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  int n, m, need;
  cin >> n >> m >> need;
  int mx = (4 * n * m) - (2 * n) - (2 * m);
  if (need > mx) {
    cout << "NO\n";
    return 0;
  }
  cout << "YES\n";
  vector<pair<int, string>> ans, tour;
  for (int i = 1; i <= n; ++i) {
    if (i == 1) {
      if (m > 1) {
        tour.push_back({m - 1, "R"});
        tour.push_back({m - 1, "L"});
      }
      if (n > 1) tour.push_back({1, "D"});
    } else {
      if (m > 1) {
        tour.push_back({m - 1, "RUD"});
        tour.push_back({m - 1, "L"});
      }
      if (i == n) {
        if (n > 1) tour.push_back({n - 1, "U"});
      } else
        tour.push_back({1, "D"});
    }
  }
  int done = 0;
  for (int i = 0; i < (int)tour.size(); ++i) {
    if (done == need) break;
    int cur = tour[i].first * (int)tour[i].second.size();
    if (done + cur <= need) {
      ans.push_back(tour[i]);
      done += cur;
    } else {
      if (tour[i].second.size() == 1) {
        int ncur = need - done;
        if (ncur) {
          ans.push_back({ncur, tour[i].second});
          done += ncur;
        }
      } else {
        int left = need - done;
        int ncur = left / 3;
        if (ncur > 0) {
          ans.push_back({ncur, tour[i].second});
          left -= ncur * 3;
        }
        if (left > 0) {
          string put = string("RUD").substr(0, left);
          ans.push_back({1, put});
        }
        done += left;
      }
      break;
    }
  }
  cout << ans.size() << '\n';
  for (auto a : ans) {
    cout << a.first << ' ' << a.second << '\n';
  }
}
