/*
1AC的感觉还是比较美妙的
博弈问题,关键要知道sg函数的本质,根据定义计算出sg函数值,就可以转化为普通的Nim游戏了
还算比较简单吧。
*/
#include <cstdio>
#include <cstdlib>
#include <vector>
#include <cstring>
#include <algorithm>
using namespace std;
int K,S[10010];
int M;
vector<int> d[110];
int N;
int sg[10010];
bool vis[10010];
int ans[110],top;
int main()
{
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
while(scanf("%d",&K)==1)
{
if(K==0) break;
for(int i=0;i<K;i++)
{
scanf("%d",S+i);
}
//
int tmp,Max = 0;
scanf("%d",&M);
for(int i=0;i<M;i++)
{
scanf("%d",&N);
d[i].clear();
for(int j=0;j<N;j++)
{
scanf("%d",&tmp); d[i].push_back( tmp );
Max = max(tmp,Max);
}
}
//
sort(S,S+K);
sg[0] = 0;
for(int i=1;i<=Max;i++)
{
memset(vis,0,sizeof(vis));
for(int j=0;j<K;j++)
{
if( S[j]<=i )
{
vis[sg[i-S[j]]] = 1;
}
else break;
}
for(int j=0;j<=Max;j++)
{
if( !vis[j] )
{
sg[i] = j;break;
}
}
}
//
top = 0;
for(int i=0;i<M;i++)
{
int tp = 0;
for(int j=d[i].size()-1;j>=0;j--)
{
tp ^= sg[ d[i][j] ];
}
if( tp ) ans[top++] = 1;
else ans[top++] = 0;
}
//
for(int i=0;i<top;i++)
{
ans[i]?printf("W"):printf("L");
}
printf("\n");
}
return 0;
}