#include <bits/stdc++.h>
using namespace std;
const int N = 200010;
struct point {
  long long p, q, s;
  point() { p = q = s = 0; }
  point(long long p, long long q, long long s) : p(p), q(q), s(s) {}
  friend bool operator<(const point &a, const point &b) {
    if (a.q != b.q) return a.q < b.q;
    return a.p < b.p;
  }
} a[N], b[N];
bool solve(point a[], vector<int> &sum, int n, int m) {
  sort(a + 1, a + n + 1);
  long long l = 0, r = m;
  for (int i = 1; i <= n && l <= r; i++) {
    long long p = a[i].p - a[i - 1].p, q = a[i].q - a[i - 1].q,
              s = a[i].s - a[i - 1].s;
    if (p > 0) {
      if (s < 0) return false;
      long long ll = (s - q) / p;
      long long rr = s / p;
      while (rr * p <= s) rr++;
      rr--;
      while (ll * p + q >= s) ll--;
      ll++;
      l = max(l, ll);
      r = min(r, rr);
    } else if (p < 0) {
      long long rr = s / p;
      long long ll = (s - q) / p;
      while (s - p * ll >= 0) ll--;
      ll++;
      while (s - p * rr <= q) rr++;
      rr--;
      l = max(l, ll);
      r = min(r, rr);
    } else {
      if (s < 0 || s > q) return false;
    }
  }
  if (l > r) return false;
  int tot = 0;
  for (int i = 1; i <= n; i++) {
    while (tot < a[i].s - l * a[i].p) sum.push_back(1), tot++;
    while (sum.size() < a[i].q) sum.push_back(0);
  }
  return true;
}
vector<int> sumx, sumy;
;
int main() {
  int n, m;
  scanf("%d%d", &n, &m);
  for (int i = 1; i <= n; i++) {
    long long t, x, y;
    scanf("%lld%lld%lld", &t, &x, &y);
    if ((t + x + y) & 1) {
      printf("NO\n");
      return 0;
    }
    a[i] = point(t / m, t % m, (t + x + y) >> 1);
    b[i] = point(t / m, t % m, (t + x - y) >> 1);
  }
  a[++n] = point(-1, m, 0);
  b[n] = point(-1, m, 0);
  if (!solve(a, sumx, n, m)) {
    printf("NO\n");
    return 0;
  }
  if (!solve(b, sumy, n, m)) {
    printf("NO\n");
    return 0;
  }
  char dir[] = {"LRDU"};
  for (int i = 0; i < m; i++) {
    long long t;
    if (sumx[i] && sumy[i])
      t = 1;
    else if (sumx[i])
      t = 3;
    else if (sumy[i])
      t = 2;
    else
      t = 0;
    printf("%c", dir[t]);
  }
  printf("\n");
  return 0;
}
