/* Jozef Tvarozek - Turrets */
#include <stdio.h>

#define MAXN 500001

typedef struct
{
  int x,y,i;
} TURRET;

TURRET t[MAXN];
int res[MAXN],nt,l;

int turret_cmp(const void *va, const void *vb)
{
  TURRET *ta = (TURRET*)va , *tb = (TURRET*)vb;
  if ( ta->x > tb->x ) return 1;
  if ( ta->x < tb->x ) return -1;
  if ( ta->y < tb->y ) return 1;
  return -1;
}

int main(void)
{
  FILE *fin,*fout;
  int i,agroup,range[2];

  fin = fopen("tur.in","rt");
  fout  = fopen("tur.out","wt");

  fscanf(fin,"%d %d",&nt,&l);
  for (i = 0; i < nt; i++)
  {
    fscanf(fin,"%d %d",&t[i].x,&t[i].y);
    t[i].i = i;
  }
  if ( nt < 2 )
  {
    fprintf(fout,"The valley cannot be protected.\n");
    return 0;
  }
  
  qsort(&t,nt,sizeof(TURRET),turret_cmp);

  range[0] = range[1] = 1;
  agroup = 0;
  for (i = 0; i < nt; i++)
  {
    if ( t[i].x > range[agroup] )
    {
      fprintf(fout,"The valley cannot be protected.\n");
      return 0;
    }
    res[t[i].i] = agroup;
    if ( range[agroup] < t[i].y )
      range[agroup] = t[i].y;
    if ( range[agroup] >= range[!agroup] )
      agroup = !agroup;
  }
  if ( range[0] < l || range[1] < l )
  {
    fprintf(fout,"The valley cannot be protected.\n");
    return 0;
  }
  for (i = 0; i < nt; i++)
    if ( res[i] )
      fprintf(fout,"Missile\n");
    else
      fprintf(fout,"Laser\n");
  return 0;
}
