#include<bits/stdc++.h>
using namespace std;
int n ,t,lo[1000000],st[1000000][20],a[1000000],f[1000000],p[1000000],ans[1000000],bo[1000000];
int find(int l,int r)
{
	if(l>r) return 0;
	int len=lo[r-l+1];
	return max(st[l][len],st[r-(1<<len)+1][len]);
}
int main()
{
	scanf("%d",&t);
	for(int i=2;i<=300000;i++) lo[i]=lo[i>>1]+1;
	do
	{
		--t;
		scanf("%d",&n);
		for(int i=1;i<=n;i++) scanf("%d",&a[i]),st[i][0]=a[i]+i;
		for(int i=1;i<=lo[n];i++)
			for(int j=1;j+(1<<i)-1<=n;j++) st[j][i]=max(st[j][i-1],st[j+(1<<(i-1))][i-1]);
		for(int i=2;i<=n;i++) f[i]=bo[i]=0;
		for(int i=2;i<=n;i++)
		{
			f[i]=f[i-1];
			if(f[i-1]>=i) f[i]=max(f[i],st[i][0]);
			int l=-1,r=i-1,mid=(l+r)>>1;
			do
			{
				if(f[mid]>=i-a[i]-1) r=mid; else l=mid; 
				mid=(l+r)>>1;
			}while(l+1<r);
			p[i]=r;
			if(f[r]>=i-a[i]-1) f[i]=max(max(i-1,f[i]),find(r+1,i-1));
			if(f[i]==max(i-1,find(r+1,i-1))) bo[i]=1;
		}
		if(f[n]>=n)
		{
			puts("YES");
			for(int i=n;i;i--)
				if(!bo[i]) ans[i]='R';
				else
				{
					int j=i;
					ans[i--]='L';
					while(i>p[j]) ans[i--]='R';
					++i;
				}
			for(int i=1;i<=n;i++) printf("%c",ans[i]);puts("");
		}
		else puts("NO");
	}while(t);
	return 0;
}
/*
1
8
2 0 2 2 1 0 2 1
*/