#include <bits/stdc++.h>
using namespace std;
struct node {
  int x, y;
} a[1010];
inline bool cmp(const node &X, const node &Y) {
  if (X.x < Y.x)
    return true;
  else if (X.x == Y.x && X.y < Y.y)
    return true;
  return false;
}
int main() {
  int T;
  scanf("%d", &T);
  while (T--) {
    vector<int> v[1010];
    map<int, bool> h[1010];
    int n;
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) v[i].clear(), h[i].clear();
    for (int i = 1; i <= n; i++) scanf("%d%d", &a[i].x, &a[i].y);
    sort(a + 1, a + 1 + n, cmp);
    for (int i = 1; i <= n; i++)
      v[a[i].x].push_back(a[i].y), h[a[i].x][a[i].y] = 1;
    int y = 0, ans = 0;
    for (int x = 0; x <= a[n].x; x++)
      if (v[x].size() >= 1)
        for (auto i : v[x])
          if (y <= i) y = i, ans++;
    if (ans != n) {
      puts("NO");
      continue;
    }
    y = 0;
    puts("YES");
    for (int x = 0; x <= a[n].x; x++) {
      int s = v[x].size(), t = 0;
      for (int i = y;; i++) {
        if (h[x][i] == 1) t++;
        y = i;
        if (t == s) break;
        printf("U");
      }
      if (x != a[n].x) printf("R");
    }
    puts("");
  }
  return 0;
}
