#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
const int maxn = 2e5;
int n, m, k;
vector<int> num;
vector<string> ans;
void solve() {
  if (k <= m) {
    num.push_back(k);
    ans.push_back("R");
    return;
  }
  k -= m;
  if (m > 0) {
    num.push_back(m);
    ans.push_back("R");
  }
  int tmp = (k - 1) / (4 * n + 1);
  tmp = min(tmp, m);
  for (int i = 1; i <= tmp; ++i) {
    if (n > 0) {
      num.push_back(n);
      ans.push_back("D");
      num.push_back(n);
      ans.push_back("LRU");
    }
    num.push_back(1);
    ans.push_back("L");
  }
  k -= tmp * (4 * n + 1);
  if (tmp == m) {
    if (k == 0) return;
    if (k <= n) {
      num.push_back(k);
      ans.push_back("D");
      return;
    } else {
      if (n > 0) {
        num.push_back(n);
        ans.push_back("D");
      }
      if (k - n > 0) {
        num.push_back(k - n);
        ans.push_back("U");
      }
      return;
    }
  }
  if (k <= n) {
    num.push_back(k);
    ans.push_back("D");
    return;
  }
  if (n > 0) {
    num.push_back(n);
    ans.push_back("D");
  }
  k -= n;
  if (k <= 3 * n) {
    if (k / 3 > 0) {
      num.push_back(k / 3);
      ans.push_back("LRU");
    }
    if (k % 3 > 0) {
      if (k % 3 >= 1) num.push_back(1), ans.push_back("L");
      if (k % 3 >= 2) num.push_back(1), ans.push_back("R");
    }
    return;
  }
  if (n > 0) {
    num.push_back(n);
    ans.push_back("LRU");
  }
  num.push_back(1);
  ans.push_back("L");
}
int main() {
  cin >> n >> m >> k;
  if (k > 4 * n * m - 2 * n - 2 * m) {
    puts("NO");
    return 0;
  }
  --n, --m;
  solve();
  puts("YES");
  printf("%d\n", int(num.size()));
  for (int i = 0; i < num.size(); ++i) cout << num[i] << " " << ans[i] << endl;
  return 0;
}
