Problem:
Swapping Two Numbers

Write a program which reads two integers x and y, and prints them in ascending order.

Input

The input consists of multiple datasets. Each dataset consists of two integers x and y separated by a single space.

The input ends with two 0 (when both x and y are zero). Your program should not process for these terminal symbols.

Output

For each dataset, print x and y in ascending order in a line. Put a single space between x and y.

Constraints

0 ≤ x, y ≤ 10000

the number of datasets ≤ 3000

Sample Input

3 2
2 2
5 3
0 0

Sample Output

2 3
2 2
3 5

Solution in C# (judge verdict: Accepted)

using System;

namespace OJcsharp
{
    class Program
    {
        static void swap<T>(ref T x, ref T y)
        {
            T t;
            t = x;
            x = y;
            y = t;
        }
        static void Main(string[] args)
        {
            long[] x = new long[100000];
            long[] y = new long[100000];
            long count = 0;
            do
            {
                string[] str = Console.ReadLine().Split(' ');
                x[count] = long.Parse(str[0]);
                y[count] = long.Parse(str[1]);
                if (x[count] == 0 && y[count] == 0)
                    break;
                if (x[count] > y[count])
                {
                    swap(ref x[count], ref y[count]);
                }
                count++;
            } while (true);
            for (int n = 0; n < count; n++)
            {
                Console.WriteLine(x[n] + " " + y[n]);
            }
        }
    }
}