#include <bits/stdc++.h>
using namespace std;
long long modpow(long long a, long long b, long long m = 1000000007) {
  a %= m;
  long long res = 1;
  while (b) {
    if (b & 1) res = res * a % m;
    a = a * a % m;
    b >>= 1;
  }
  return res;
}
long long bpow(long long a, long long b) {
  long long res = 1;
  while (b) {
    if (b & 1) res = res * a;
    a = a * a;
    b >>= 1;
  }
  return res;
}
long long modinv(long long a) { return modpow(a, 1000000007 - 2, 1000000007); }
void graph(vector<vector<int>> &adj, int m) {
  int x, y;
  for (int i = 0; i < m; i++) {
    cin >> x >> y;
    adj[x - 1].push_back(y - 1);
    adj[y - 1].push_back(x - 1);
  }
}
struct hash_pair {
  template <class T1, class T2>
  size_t operator()(const pair<T1, T2> &p) const {
    auto hash1 = hash<T1>{}(p.first);
    auto hash2 = hash<T2>{}(p.second);
    return hash1 ^ hash2;
  }
};
const int mxN = 2e5 + 5;
void solve() {
  int n, m, k;
  cin >> n >> m >> k;
  if (k > 4 * n * m - 2 * n - 2 * m) {
    cout << "NO\n";
  } else {
    cout << "YES\n";
    string s;
    for (int i = 0; i < m - 1; i++) {
      s += 'R';
    }
    for (int i = 1; i < n - 1; i++) {
      s += 'D';
      for (int i = 0; i < m - 1; i++) {
        s += 'L';
      }
      for (int i = 0; i < m - 1; i++) {
        s += 'R';
      }
    }
    if (n > 1) {
      s += 'D';
    }
    for (int i = 1; i < m - 1; i++) {
      s += 'L';
      for (int i = 0; i < n - 1; i++) {
        s += 'U';
      }
      for (int i = 0; i < n - 1; i++) {
        s += 'D';
      }
    }
    if (m > 1) {
      s += 'L';
    }
    for (int i = 0; i < n - 1; i++) {
      s += 'U';
    }
    for (int i = 0; i < n - 1; i++) {
      s += 'D';
    }
    for (int i = 0; i < m - 1; i++) {
      s += 'R';
    }
    for (int i = 0; i < n - 1; i++) {
      s += 'U';
    }
    for (int i = 0; i < m - 1; i++) {
      s += 'L';
    }
    s = s.substr(0, k);
    vector<string> v;
    for (int i = 0; i < (int)s.size(); i++) {
      v.push_back(s.substr(i, 1));
      i += 0;
    }
    string curr = v[0];
    int cnt = 1;
    vector<pair<int, string>> ans;
    for (int i = 1; i < (int)v.size(); i++) {
      if (v[i] == curr) {
        cnt++;
      } else {
        ans.push_back({cnt, curr});
        cnt = 1;
        curr = v[i];
      }
    }
    ans.push_back({cnt, curr});
    cout << (int)ans.size() << '\n';
    for (int i = 0; i < (int)ans.size(); i++) {
      cout << ans[i].first << ' ' << ans[i].second << '\n';
    }
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  int t = 1;
  while (t--) {
    solve();
  }
}
