#include <bits/stdc++.h>
using namespace std;
int n, m, k;
int main() {
  scanf("%d%d%d", &n, &m, &k);
  int mx = 4 * n * m - 2 * n - 2 * m;
  if (k > mx) {
    puts("NO");
    exit(0);
  }
  puts("YES");
  if (m == 1) {
    if (k < n - 1) {
      printf("1\n%d D\n", k);
      exit(0);
    }
    printf("2\n%d D\n%d U\n", n - 1, k - (n - 1));
    exit(0);
  }
  vector<int> rep;
  vector<string> cmd;
  for (int i = 1; i < n; i++) {
    if (k <= 3) {
    finally:
      if (k == 0)
        goto finish;
      else if (k == 1) {
        rep.push_back(1);
        cmd.push_back("R");
      } else if (k == 2) {
        rep.push_back(1);
        cmd.push_back("RD");
      } else {
        rep.push_back(1);
        cmd.push_back("RDU");
      }
      goto finish;
    }
    if (k <= 3 * (m - 1)) {
      rep.push_back(k / 3);
      cmd.push_back("RDU");
      k = k % 3;
      goto finally;
    }
    k -= (m - 1) * 3;
    rep.push_back(m - 1);
    cmd.push_back("RDU");
    if (k <= m - 1) {
      rep.push_back(k);
      cmd.push_back("L");
      goto finish;
    }
    rep.push_back(m - 1);
    cmd.push_back("L");
    k -= m - 1;
    rep.push_back(1);
    cmd.push_back("D");
    k--;
    if (!k) goto finish;
  }
  if (k <= m - 1) {
    rep.push_back(k);
    cmd.push_back("R");
    goto finish;
  } else {
    rep.push_back(m - 1);
    cmd.push_back("R");
    k -= m - 1;
  }
  if (k <= m - 1) {
    rep.push_back(k);
    cmd.push_back("L");
    goto finish;
  } else {
    rep.push_back(m - 1);
    cmd.push_back("L");
    k -= m - 1;
  }
  rep.push_back(k);
  cmd.push_back("U");
finish:
  printf("%u\n", rep.size());
  for (int i = 0; i < rep.size(); i++) {
    printf("%d %s\n", rep[i], cmd[i].c_str());
  }
}
