#include<stdio.h>
#include<stdlib.h>

int main(){

int **kolej, max[20000], prvni[20000], i, j, M, N, akt, dkoleje[20000], poslkolej=-1;
int min, nelze=0, vysledek[20000], dvysl=-1;

/*inicializace:*/
  scanf("%d %d", &N, &M);
  kolej=malloc(M*sizeof(*kolej));
  for(i=0;i<M;i++){
    kolej[i]=malloc(N*sizeof(kolej));
    dkoleje[i]=-1;
  }

  for(i=0;i<M;i++){
    max[i]=-1;
    prvni[i]=0;
  }

while (N!=0)
{
/*hlavni telo programu:*/
  /*rozrazeni vagonu do koleji:*/
  for (i=0;i<N;i++)
  {
    scanf("%d", &akt);
    if(nelze==0){
    j=0;
    while (j<M && max[j]>akt)
      j++;
    if (j>=M) {
      printf("Transportation failed\n");
      nelze=1;
    }
    else
    {
      if(dkoleje[j]==-1) poslkolej++;
      kolej[j][++dkoleje[j]]=akt;
      max[j]=akt;
      vysledek[++dvysl]=j+1;
    }}
  }
  if(nelze==0){
    for (i=0;i<dvysl;i++) printf("%d ",vysledek[i]);
    printf("%d\n",vysledek[dvysl]);
  /*serazeni zpatky:*/
    min=0;
    for(i=1;i<=poslkolej;i++)
    {
      min=(kolej[i][prvni[i]]<kolej[min][prvni[min]]) ? i : min;
    }
    printf("%d",min+1);
    if(++prvni[min]>dkoleje[min])
    {
      for(j=0;j<dkoleje[poslkolej];j++)
        kolej[min][j]=kolej[poslkolej][j];
      prvni[min]=prvni[poslkolej];
      dkoleje[min]=dkoleje[poslkolej];
      poslkolej--;
    }
  while(poslkolej>-1)
  {
    min=0;
    for(i=1;i<=poslkolej;i++)
    {
      min=(kolej[i][prvni[i]]<kolej[min][prvni[min]]) ? i : min;
    }
    printf(" %d",min+1);
    if(++prvni[min]>dkoleje[min])
    {
      for(j=0;j<dkoleje[poslkolej];j++)
        kolej[min][j]=kolej[poslkolej][j];
      prvni[min]=prvni[poslkolej];
      dkoleje[min]=dkoleje[poslkolej];
      poslkolej--;
    }
  }
  printf("\n");
  }
  else nelze=0;


/*uklidime po sobe:*/  
  for(i=0;i<M;i++)
    free(kolej[i]);
  free(kolej);
/*inicializace:*/
    dvysl=-1;
  scanf("%d %d", &N, &M);
  if (N!=0){
    kolej=malloc(M*sizeof(*kolej));
    for(i=0;i<M;i++){
      kolej[i]=malloc(N*sizeof(kolej));
      dkoleje[i]=-1;
    }

    for(i=0;i<M;i++){
      max[i]=-1;
      prvni[i]=0;
      poslkolej=-1;
    }
  }
}

return 0;
}
