#include<bits/stdc++.h>
using namespace std;
int t;
int main(){
scanf("%d",&t);
while(t--){
int n,t[10000001],x;
deque<int> a,b;
queue<char> ans1;
stack<char> ans2;
bool f=1;
scanf("%d",&n);
for(int i=1;i<=2*n;i++){
scanf("%d",&t[i]);
}
for(int i=2;i<=2*n;i++){
if(t[1]==t[i]){
x=i;
break;
}
}
for(int i=1;i<=x;i++){
a.push_back(t[i]);
}
for(int i=x+1;i<=n*2;i++){
b.push_front(t[i]);
}
while((a.size()||b.size())&&f){
int a1,a2,b1,b2;
if(a.size()) a1=a.front(),a2=a.back();
if(b.size()) b1=b.front(),b2=b.back();
if(a1==a2&&a.size()!=1){
a.pop_front();
a.pop_back();
ans1.push('L');
ans2.push('L');
}
else if(a1==b2){
a.pop_front();
b.pop_back();
ans1.push('L');
ans2.push('R');
}
else if(a1==b1){
a.pop_front();
b.pop_front();
ans1.push('L');
ans2.push('R');
}
else if(a2==b1){
a.pop_back();
b.pop_front();
ans1.push('R');
ans2.push('L');
}
else if(b1==b2&&b.size()!=1){
b.pop_front();
b.pop_back();
ans1.push('R');
ans2.push('R');
}
else if(b1==a2){
b.pop_front();
a.pop_back();
ans1.push('R');
ans2.push('L');
}
else{
printf("-1\n");
f=0;
}
}
if(f){
while(ans1.size()){
printf("%c",ans1.front());
ans1.pop();
}
while(ans2.size()){
printf("%c",ans2.top());
ans2.pop();
}
printf("\n");
}
}
return 0;
}