/*
TASK: crazy
LANG: C
*/
//#include<time.h>
#include<stdio.h>
//#include<stdlib.h>
#include"module.h"
#define mx 1024
long nd[mx][mx];
long gcd(long a,long b){if(b==0)return a;else return gcd(b,a%b);}
long pr[mx];
long ss[mx][mx];
long toa[mx][mx];
long tob[mx][mx];
long nd1[mx][mx];
long ns[mx];
long q1,q2,c1,c2,c;
/*
//////////////modelu
#define in stdin;//fopen("c:\\a\\crazy.in","r")
FILE*fn;
long xxx,yyy;
long num=0;
long getnum(long*a,long*b)
  {int c1,c2,q1;
  num++;
if(num==1)  fn=in;
  if(num==1)fscanf(fn,"%d %d",&c1,&c2);
  else
    {for(q1=1;q1<xxx;q1++)if(nd[*a][q1]!=1)break;
    if(q1==xxx)
      {for(q1=1;q1<yyy;q1++)if(nd[*b][q1]!=1)break;
      c1=xxx+1;
      c2=q1;}
    else
      {c1=q1;
      c2=yyy+1;}
    scanf("%d %d"&c1,&c2);
    c1=toa[xxx][yyy];
    c2=tob[xxx][yyy];
    }
if(num==1)  fclose(fn);
  if(pr[c1]&&pr[c2])
    {printf("LOSE\n");
    printf("%.5lf\n",(double)clock()/CLOCKS_PER_SEC);
    exit(0);}
  *a=c1;
  *b=c2;
  return 0;}
long setnum(int a,int b)
  {xxx=a;
  yyy=b;
  if(pr[a]&&pr[b])
    {printf("WIN\n");
    printf("%.5lf\n",(double)clock()/CLOCKS_PER_SEC);
    exit(0);
    }
  return 0;}

//////////////////////
  */
long dfs(long a,long b)
  {long q1,win=-mx,lose=-mx,c1,cc;
  long wa,wb,la,lb;
  if(ss[a][b]!=-mx)return ss[a][b];

  for(q1=0;q1<ns[a];q1++)//if(nd[q1][a]>1)
    {cc=nd1[a][q1];
    if(ss[cc][b+1]!=-mx)c1=ss[cc][b+1];else
    c1=dfs(cc,b+1);
    if(lose<c1)
      {lose=c1;
      la=cc;lb=b+1;}
    if(c1<=0)if(win<c1)
      {win=c1;
      wa=cc;wb=b+1;}}

  for(q1=0;q1<ns[b];q1++)//if(nd[q1][b]>1)
    {cc=nd1[b][q1];
    if(ss[a+1][cc]!=-mx)c1=ss[a+1][cc];else
    c1=dfs(a+1,cc);
    if(lose<c1)
      {lose=c1;
      la=a+1;lb=cc;}
    if(c1<=0)if(win<c1)
      {win=c1;
      wa=a+1;wb=cc;}}
  if(win!=-mx)
    {ss[a][b]=-win+1;
    toa[a][b]=wa;
    tob[a][b]=wb;
    ss[b][a]=-win+1;
    toa[b][a]=wb;
    tob[b][a]=wa;}
  else
    {ss[a][b]=-lose-1;
    toa[a][b]=la;
    tob[a][b]=lb;
    ss[b][a]=-lose-1;
    toa[b][a]=lb;
    tob[b][a]=la;}

  return ss[a][b];}
int main()
  {

 // clock();
  c=mx-1;
  for(q1=1;q1<=c;q1++)for(q2=1;q2<=c;q2++)nd[q1][q2]=gcd(q1,q2);
  for(q1=1;q1<=c;q1++)for(q2=1;q2<q1;q2++)if(nd[q1][q2]>1)nd1[q1][ns[q1]++]=q2;
  for(q1=2;q1<=c;q1++)pr[q1]=1;
  for(q1=2;q1<=c;q1++)if(pr[q1])for(q2=q1*q1;q2<=c;q2+=q1)pr[q2]=0;
  for(q1=1;q1<=c;q1++)for(q2=1;q2<=c;q2++)ss[q1][q2]=-mx;
  for(q1=1;q1<=c;q1++)for(q2=1;q2<=c;q2++)if(pr[q1]==1&&pr[q2]==1)ss[q1][q2]=0;
 // printf("%.5lf\n",(double)clock()/CLOCKS_PER_SEC);
  getnum(&c1,&c2);
//  printf("%.5lf\n",(double)clock()/CLOCKS_PER_SEC);
  dfs(c1,c2);
  while(1)
    {setnum(toa[c1][c2],tob[c1][c2]);
    getnum(&c1,&c2);
    if(c1+c2==0)break;}


  return 0;}
