#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
#define INF 0x3f3f3f3f
int n,sum,tmp,a[100030],uni[100030],bit[200000];
inline int getint(){
char ch,l=' '; int x=0;
for (ch=getchar();(ch<'0' || ch>'9') && ch!='X';l=ch,ch=getchar());
if (ch=='X') return INF;
for (x=0;ch>='0' && ch<='9';ch=getchar()) x=x*10+ch-'0';
return l=='-'?-x:x;
}
void add(int x){for (int i=x;i;i-=i&(-i)) bit[i]++;}
int query(int x){int ss=0; for (int i=x;i<=n;i+=i&(-i)) ss+=bit[i]; return ss;}
int main(){
scanf("%d",&n);
for (int i=1;i<=n;i++){
a[i]=getint();
if (a[i]==INF) sum++;
}
if (sum==0){
for (int i=1;i<=n;i++) uni[i]=a[i];
sort(uni+1,uni+n+1);
for (int i=1;i<=n;i++) a[i]=lower_bound(uni+1,uni+n+1,a[i])-uni;
for (int i=1;i<=n;i++){tmp+=query(a[i]); add(a[i]);}
puts((tmp&1)?"W":"L"); return 0;
}
if ((sum&1) && n>1) puts("W"); else puts("L");
return 0;
}