#include <bits/stdc++.h>
using namespace std;
const int MAXN = 3e5 + 5;
const int INF = INT_MAX / 2;
const long long LLINF = 9223372036854775807 / 2;
int k;
vector<pair<int, string>> res;
void call() {
  cout << "YES" << endl;
  cout << res.size() << endl;
  for (auto e : res) {
    cout << e.first << " " << e.second << endl;
  }
  exit(0);
}
void cf(int n, string s) {
  if (n <= 0) return;
  int kk = k;
  k -= n * s.size();
  if (k < 0) {
    int round = kk / s.size();
    int left = kk % s.size();
    if (round > 0) res.push_back({round, s});
    if (left > 0) res.push_back({1, s.substr(0, left)});
    call();
  }
  if (k == 0) {
    res.push_back({n, s});
    call();
  }
  res.push_back({n, s});
}
int main() {
  int n, m;
  scanf("%d", &n);
  scanf("%d", &m);
  scanf("%d", &k);
  int total = 4 * n * m - 2 * n - 2 * m;
  if (total < k) {
    cout << "NO" << endl;
    return 0;
  }
  int nn = n, mm = m;
  while (true) {
    if (m == 1) {
      cf(n - 1, "D");
      cf(n - 1, "U");
      cf(mm - 1, "L");
      break;
    }
    if (n == 1) {
      cf(m - 1, "R");
      cf(mm - 1, "L");
    }
    cf(n - 1, "D");
    cf(m - 1, "R");
    cf(m - 1, "UDL");
    cf(n - 2, "URL");
    cf(1, "UR");
    n--, m--;
  }
  call();
  return 0;
}
