#include<bits/stdc++.h>
using namespace std;
namespace ljx_9420yy {
const int maxn = 5e5+5;
int tot[maxn], T, n, l0, r0, l, r, l1, r1, l2, r2, op;
char b[maxn];
struct NOI {
int num, id;
} a[maxn];
int main() {
cin>> T;
while(T--) {
memset(tot, 0, maxn);
op = 0;
cin>> n;
for(int i=1; i<=2*n; i++) cin>> a[i].num, a[i].id = 0;
for(int i=1; i<=2*n; i++) {
if(tot[a[i].num] == 0) tot[a[i].num] = i;
else a[i].id = tot[a[i].num], a[tot[a[i].num]].id = i;
}
l0 = 2; r0 = 2*n;
l = 1; r = 2*n;
b[l++] = 'L'; b[r--] = 'L';
l1 = 2; r1 = a[1].id-1;
l2 = a[1].id+1; r2 = 2*n;
for(int i=1; i<=n-1; i++) {
if(a[l0].id == r1 && l1<=r1) b[l++] = 'L', b[r--] = 'L', l1++, r1--, l0++;
else if(a[l0].id == l2 && l1<=r1 && l2<=r2) b[l++] = 'L', b[r--] = 'R', l1++, l2++, l0++;
else if(a[r0].id == r1 && l1<=r1 && l2<=r2) b[l++] = 'R', b[r--] = 'L', r1--, r2--, r0--;
else if(a[r0].id == l2 && l2<=r2) b[l++] = 'R', b[r--] = 'R', l2++, r2--, r0--;
else {op = 1; break;}
}
if(op == 1) {
op = 0;
l0 = 1; r0 = 2*n-1;
l = 1; r = 2*n;
b[l++] = 'R'; b[r--] = 'L';
l1 = 1; r1 = a[2*n].id-1;
l2 = a[2*n].id+1; r2 = 2*n-1;
for(int i=1; i<=n-1; i++) {
if(a[l0].id == r1 && l1<=r1) b[l++] = 'L', b[r--] = 'L', l1++, r1--, l0++;
else if(a[l0].id == l2 && l1<=r1 && l2<=r2) b[l++] = 'L', b[r--] = 'R', l1++, l2++, l0++;
else if(a[r0].id == r1 && l1<=r1 && l2<=r2) b[l++] = 'R', b[r--] = 'L', r1--, r2--, r0--;
else if(a[r0].id == l2 && l2<=r2) b[l++] = 'R', b[r--] = 'R', l2++, r2--, r0--;
else {printf("-1\n"); op = 1; break;}
}
}
if(op == 1) continue;
for(int i=1; i<=2*n; i++) printf("%c", b[i]);
printf("\n");
}
return 0;
}
}
int main() {
ljx_9420yy::main();
return 0;
}