//?????????????????¨
import java.util.Scanner;
public class Main{

	public static void main(String[] args) {
	// TODO ?????????????????????????????????????????????
		Scanner kb=new Scanner(System.in);
int[][] a=new int[10000][2];
int i=0;
int dCount=0;
		while(true){
		a[i][0]=kb.nextInt();
		a[i][1]=kb.nextInt();
	
		if(a[i][0]==0&&a[i][1]==0){
			i++;
			dCount=i;
			break;
		}
		i++;
}
		
int oneTimeNum=0;
		for(int j=0;j<=dCount;j++){
			if(a[j][0]==0&&a[j][1]==0){
				break;
			}
		else if(a[j][0]>a[j][1]){
			oneTimeNum=a[j][0];
			a[j][0]=a[j][1];
			a[j][1]=oneTimeNum;
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
			continue;
			}
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
		}
		
	}

} import java.util.Scanner; Scanner java.util public class Main{

	public static void main(String[] args) {
	// TODO ?????????????????????????????????????????????
		Scanner kb=new Scanner(System.in);
int[][] a=new int[10000][2];
int i=0;
int dCount=0;
		while(true){
		a[i][0]=kb.nextInt();
		a[i][1]=kb.nextInt();
	
		if(a[i][0]==0&&a[i][1]==0){
			i++;
			dCount=i;
			break;
		}
		i++;
}
		
int oneTimeNum=0;
		for(int j=0;j<=dCount;j++){
			if(a[j][0]==0&&a[j][1]==0){
				break;
			}
		else if(a[j][0]>a[j][1]){
			oneTimeNum=a[j][0];
			a[j][0]=a[j][1];
			a[j][1]=oneTimeNum;
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
			continue;
			}
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
		}
		
	}

} Main public static void main(String[] args) {
	// TODO ?????????????????????????????????????????????
		Scanner kb=new Scanner(System.in);
int[][] a=new int[10000][2];
int i=0;
int dCount=0;
		while(true){
		a[i][0]=kb.nextInt();
		a[i][1]=kb.nextInt();
	
		if(a[i][0]==0&&a[i][1]==0){
			i++;
			dCount=i;
			break;
		}
		i++;
}
		
int oneTimeNum=0;
		for(int j=0;j<=dCount;j++){
			if(a[j][0]==0&&a[j][1]==0){
				break;
			}
		else if(a[j][0]>a[j][1]){
			oneTimeNum=a[j][0];
			a[j][0]=a[j][1];
			a[j][1]=oneTimeNum;
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
			continue;
			}
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
		}
		
	} main {
	// TODO ?????????????????????????????????????????????
		Scanner kb=new Scanner(System.in);
int[][] a=new int[10000][2];
int i=0;
int dCount=0;
		while(true){
		a[i][0]=kb.nextInt();
		a[i][1]=kb.nextInt();
	
		if(a[i][0]==0&&a[i][1]==0){
			i++;
			dCount=i;
			break;
		}
		i++;
}
		
int oneTimeNum=0;
		for(int j=0;j<=dCount;j++){
			if(a[j][0]==0&&a[j][1]==0){
				break;
			}
		else if(a[j][0]>a[j][1]){
			oneTimeNum=a[j][0];
			a[j][0]=a[j][1];
			a[j][1]=oneTimeNum;
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
			continue;
			}
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
		}
		
	} Scanner kb=new Scanner(System.in); kb new Scanner(System.in) int[][] a=new int[10000][2]; a new int[10000][2] 10000 2 int i=0; i 0 int dCount=0; dCount 0 while(true){
		a[i][0]=kb.nextInt();
		a[i][1]=kb.nextInt();
	
		if(a[i][0]==0&&a[i][1]==0){
			i++;
			dCount=i;
			break;
		}
		i++;
} true {
		a[i][0]=kb.nextInt();
		a[i][1]=kb.nextInt();
	
		if(a[i][0]==0&&a[i][1]==0){
			i++;
			dCount=i;
			break;
		}
		i++;
} a[i][0]=kb.nextInt() a[i][0] a[i] a i 0 kb.nextInt() kb.nextInt kb a[i][1]=kb.nextInt() a[i][1] a[i] a i 1 kb.nextInt() kb.nextInt kb if(a[i][0]==0&&a[i][1]==0){
			i++;
			dCount=i;
			break;
		} a[i][0]==0&&a[i][1]==0 a[i][0]==0 a[i][0] a[i] a i 0 0 a[i][1]==0 a[i][1] a[i] a i 1 0 {
			i++;
			dCount=i;
			break;
		} i++ i dCount=i dCount i break; i++ i int oneTimeNum=0; oneTimeNum 0 for(int j=0;j<=dCount;j++){
			if(a[j][0]==0&&a[j][1]==0){
				break;
			}
		else if(a[j][0]>a[j][1]){
			oneTimeNum=a[j][0];
			a[j][0]=a[j][1];
			a[j][1]=oneTimeNum;
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
			continue;
			}
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
		} int j=0; int j=0; j 0 j<=dCount j dCount j++ j++ j {
			if(a[j][0]==0&&a[j][1]==0){
				break;
			}
		else if(a[j][0]>a[j][1]){
			oneTimeNum=a[j][0];
			a[j][0]=a[j][1];
			a[j][1]=oneTimeNum;
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
			continue;
			}
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
		} {
			if(a[j][0]==0&&a[j][1]==0){
				break;
			}
		else if(a[j][0]>a[j][1]){
			oneTimeNum=a[j][0];
			a[j][0]=a[j][1];
			a[j][1]=oneTimeNum;
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
			continue;
			}
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
		} if(a[j][0]==0&&a[j][1]==0){
				break;
			}
		else if(a[j][0]>a[j][1]){
			oneTimeNum=a[j][0];
			a[j][0]=a[j][1];
			a[j][1]=oneTimeNum;
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
			continue;
			} a[j][0]==0&&a[j][1]==0 a[j][0]==0 a[j][0] a[j] a j 0 0 a[j][1]==0 a[j][1] a[j] a j 1 0 {
				break;
			} break; if(a[j][0]>a[j][1]){
			oneTimeNum=a[j][0];
			a[j][0]=a[j][1];
			a[j][1]=oneTimeNum;
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
			continue;
			} a[j][0]>a[j][1] a[j][0] a[j] a j 0 a[j][1] a[j] a j 1 {
			oneTimeNum=a[j][0];
			a[j][0]=a[j][1];
			a[j][1]=oneTimeNum;
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
			continue;
			} oneTimeNum=a[j][0] oneTimeNum a[j][0] a[j] a j 0 a[j][0]=a[j][1] a[j][0] a[j] a j 0 a[j][1] a[j] a j 1 a[j][1]=oneTimeNum a[j][1] a[j] a j 1 oneTimeNum System.out.printf("%d %d\n"
					,a[j][0],a[j][1]) System.out.printf System.out System System.out "%d %d\n" a[j][0] a[j] a j 0 a[j][1] a[j] a j 1 continue; System.out.printf("%d %d\n"
					,a[j][0],a[j][1]) System.out.printf System.out System System.out "%d %d\n" a[j][0] a[j] a j 0 a[j][1] a[j] a j 1 String[] args args public class Main{

	public static void main(String[] args) {
	// TODO ?????????????????????????????????????????????
		Scanner kb=new Scanner(System.in);
int[][] a=new int[10000][2];
int i=0;
int dCount=0;
		while(true){
		a[i][0]=kb.nextInt();
		a[i][1]=kb.nextInt();
	
		if(a[i][0]==0&&a[i][1]==0){
			i++;
			dCount=i;
			break;
		}
		i++;
}
		
int oneTimeNum=0;
		for(int j=0;j<=dCount;j++){
			if(a[j][0]==0&&a[j][1]==0){
				break;
			}
		else if(a[j][0]>a[j][1]){
			oneTimeNum=a[j][0];
			a[j][0]=a[j][1];
			a[j][1]=oneTimeNum;
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
			continue;
			}
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
		}
		
	}

} public class Main{

	public static void main(String[] args) {
	// TODO ?????????????????????????????????????????????
		Scanner kb=new Scanner(System.in);
int[][] a=new int[10000][2];
int i=0;
int dCount=0;
		while(true){
		a[i][0]=kb.nextInt();
		a[i][1]=kb.nextInt();
	
		if(a[i][0]==0&&a[i][1]==0){
			i++;
			dCount=i;
			break;
		}
		i++;
}
		
int oneTimeNum=0;
		for(int j=0;j<=dCount;j++){
			if(a[j][0]==0&&a[j][1]==0){
				break;
			}
		else if(a[j][0]>a[j][1]){
			oneTimeNum=a[j][0];
			a[j][0]=a[j][1];
			a[j][1]=oneTimeNum;
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
			continue;
			}
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
		}
		
	}

} Main
//?????????????????¨
import java.util.Scanner;
public class Main{

	public static void main(String[] args) {
	// TODO ?????????????????????????????????????????????
		Scanner kb=new Scanner(System.in);
int[][] a=new int[10000][2];
int i=0;
int dCount=0;
		while(true){
		a[i][0]=kb.nextInt();
		a[i][1]=kb.nextInt();
	
		if(a[i][0]==0&&a[i][1]==0){
			i++;
			dCount=i;
			break;
		}
		i++;
}
		
int oneTimeNum=0;
		for(int j=0;j<=dCount;j++){
			if(a[j][0]==0&&a[j][1]==0){
				break;
			}
		else if(a[j][0]>a[j][1]){
			oneTimeNum=a[j][0];
			a[j][0]=a[j][1];
			a[j][1]=oneTimeNum;
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
			continue;
			}
			System.out.printf("%d %d\n"
					,a[j][0],a[j][1]);
		}
		
	}

}