#include <bits/stdc++.h>
using namespace std;
void read (int &x) {
    char ch = getchar(); int f = 0; x = 0;
    while (!isdigit(ch)) { if (ch == '-') f = 1; ch = getchar(); }
    while (isdigit(ch)) x = x * 10 + ch - 48, ch = getchar();
    if (f) x = -x;
} const int N = 3e5 + 5;
int n, a[N], f[N], fr[N], d[N], k[N], lg[N];
#define cmax(x, y) (x = x > y ? x : y)
struct ans { int v, w; } ;
struct st {
    int c[N][19];
    void pre () {
        for (int i = 0; i <= n; ++i) c[i][0] = a[i] + i;
        for (int i = 1; (1 << i) <= n; ++i)
            for (int j = 1; j + (1 << i) - 1 <= n; ++j)
                c[j][i] = max (c[j][i - 1], c[j + (1 << i - 1)][i - 1]);
    }
    int query (int l, int r) {
        if (l > r) return 0; int t = lg[r - l + 1];
        // printf ("%d %d %d\n", l, r, max (c[l][t], c[r - (1 << t) + 1][t]));
        return max (c[l][t], c[r - (1 << t) + 1][t]);
    }
} A;
signed main() {
    int T; read (T); lg[0] = -1;
    for (int i = 1; i <= 300002; ++i) lg[i] = lg[i >> 1] + 1;
    while (T--) {
        read (n); a[++n] = 0;
        for (int i = 1; i < n; ++i) read (a[i]); A.pre ();
        for (int i = 0; i <= n; ++i) f[i] = k[i] = fr[i] = 0;
        for (int i = 1, l, r, m, j, mx = -1, w = 0; i <= n; ++i) {
            l = 0, r = i - 1, j = -1;
            while (l <= r) {
                m = l + r >> 1;
                if (f[m] + 1 >= i - a[i]) j = m, r = m - 1;
                else l = m + 1;
            }
            if (j >= 0) f[i] = max (A.query (j + 1, i - 1), i - 1), fr[i] = j;
            if (f[i - 1] >= i && f[i] < i + a[i]) f[i] = i + a[i], fr[i] = i - 1, k[i] = 1;
            if (mx > f[i]) f[i] = mx, fr[i] = w; else mx = f[i], w = i;
            // printf ("666 %d %d %d %d\n", j, i, f[i], fr[i]);
        }
        if (f[n] >= n - 1) {
            puts ("YES");
            for (int i = n; i >= 1; i = fr[i]) {
                for (int j = fr[i] + 1; j < i; ++j) d[j] = 1; d[i] = k[i];
            }
            for (int i = 1; i < n; ++i) putchar (d[i] ? 'R' : 'L'); puts ("");
        } else puts ("NO");
    }
}
