#include <bits/stdc++.h>
using namespace std;
template <class T>
inline T bigMod(T p, T e, T M) {
  T ret = 1;
  for (; e > 0; e >>= 1) {
    if (e & 1) ret = (ret * p) % M;
    p = (p * p) % M;
  }
  return (T)ret;
}
template <class T>
inline T modInverse(T a, T M) {
  return bigMod(a, M - 2, M);
}
template <class T>
inline T gcd(T a, T b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
template <class T>
inline T lcm(T a, T b) {
  a = abs(a);
  b = abs(b);
  return (a / gcd(a, b)) * b;
}
int dx[] = {1, -1, 0, 0};
int dy[] = {0, 0, 1, -1};
int main() {
  int t;
  scanf("%d", &t);
  ;
  while (t--) {
    vector<pair<int, int>> v;
    int n;
    scanf("%d", &n);
    ;
    for (int i = int(0); i < int(n); i++) {
      int a, b;
      scanf("%d %d", &a, &b);
      v.push_back(make_pair(a, b));
    }
    sort(v.begin(), v.end());
    vector<char> vc;
    int mx = 0, flag = 0, g;
    for (int i = int(0); i < int(n); i++) {
      if (i == 0) {
        g = v[i].first;
        while (g--) vc.push_back('R');
        g = v[i].second;
        while (g--) vc.push_back('U');
        mx = v[i].second;
      } else {
        if (v[i].second < mx) {
          flag = 1;
          break;
        } else {
          int g = v[i].first - v[i - 1].first;
          while (g--) vc.push_back('R');
          g = v[i].second - v[i - 1].second;
          while (g--) vc.push_back('U');
          mx = v[i].second;
        }
      }
    }
    if (flag == 1)
      cout << "NO" << endl;
    else {
      cout << "YES" << endl;
      for (int i = int(0); i < int(vc.size()); i++) printf("%c", vc[i]);
      ;
      printf("\n");
    }
  }
  return 0;
}
