#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f, mod = 1000000007;
const double pi = 3.1415926535897932, eps = 1e-6;
int n, m, k;
vector<pair<int, string> > v;
vector<pair<int, string> > vv;
void add(int s, string t) {
  if (s > 0) v.push_back(make_pair(s, t));
}
void dda(int s, string t) {
  if (s > 0) vv.push_back(make_pair(s, t));
}
int main() {
  ios::sync_with_stdio(false);
  cin >> n >> m >> k;
  int path = 4 * n * m - 2 * n - 2 * m;
  if (path < k) {
    cout << "NO\n";
    return 0;
  }
  cout << "YES\n";
  add(m - 1, "R");
  for (int(i) = (m); (i) >= (2); (i)--) {
    add(n - 1, "D");
    add(n - 1, "U");
    add(1, "L");
  }
  add(n - 1, "D");
  for (int(i) = (n); (i) >= (2); (i)--) {
    add(m - 1, "R");
    add(m - 1, "L");
    add(1, "U");
  }
  long long curl = 0;
  for (int(i) = (0); (i) < (v.size()); (i)++) {
    long long pl = v[i].second.size(), th = v[i].first * pl;
    if (curl + th > k) {
      dda((k - curl) / pl, v[i].second);
      if ((k - curl) % pl != 0) dda(1, v[i].second.substr(0, (k - curl) % pl));
      break;
    } else {
      dda(v[i].first, v[i].second);
      curl += th;
      if (curl == k) break;
    }
  }
  cout << vv.size() << '\n';
  for (int(i) = (0); (i) < (vv.size()); (i)++)
    cout << vv[i].first << ' ' << vv[i].second << '\n';
  return 0;
}
