import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;

class railway{

public static void main(String[] args) throws IOException
{
	railway app = new railway();
	app.run();
}

public void run() throws IOException
{
  int n=1,m=0;
  while(true)
	{
		String s=load();		   
		StringTokenizer r = new StringTokenizer(s);
		n = Integer.parseInt(r.nextToken());
		m = Integer.parseInt(r.nextToken());
		if((n==0)&&(m==0))return;
		int[] pole = new int[n];
		s=load();
		r = new StringTokenizer(s," ");
		for(int i=0;i<n;i++)
		{
			pole[i]=Integer.parseInt(r.nextToken());
		}
		pokus(pole,n,m);	
        }
}
public void pokus(int[] pole,int n,int m)
{
	int[][] rail = new int[m+1][n/m+2];
	rail[1][1]=pole[0];
	int pozice[]=new int[m];
	for(int i=0;i<m;i++)
		pozice[i]=1;
	pozice[0]=2;
	boolean x=false;
	for(int i=1;i<n;i++)
	{
		for(int j=1;j<m+1;j++)
		{
		x=false;
			if(pozice[j-1]==1)
			{
				rail[j][pozice[j-1]]=pole[i];
				pozice[j-1]++;
				x=true;
				break;
			}
			if(pole[i]>rail[j][pozice[j-1]-1])
			{
				rail[j][pozice[j-1]]=pole[i];
				pozice[j-1]++;
				x=true;
				break;
			}
			
		}
		if(!x)
		{
			System.out.println("Transportation failed");
			return;
		}
	}
	if(x)
	{
		for(int i=0;i<n;i++)
			for(int j=1;j<m+1;j++)
				for(int k=1;k<(n/m+2);k++)
					if(pole[i]==rail[j][k])
						System.out.print(j+" ");
		System.out.println();
		for(int j=m;j>0;j--)
			for(int k=(n/m+1);k>0;k--)
				if(rail[j][k]>0)
					System.out.print(j+" ");
		System.out.println();
	}
}	
private String load() throws IOException
{
	BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
	return r.readLine();
}	

}
