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 Haskell (judge verdict: Accepted)

main :: IO ()
main = interact $ solve . map (read :: String -> Int). words

solve = unlines . map (\(x, y) -> show x ++ " " ++ show y) . reverse . tail . reverse . map myReplace . myZip

myZip :: [Int] -> [(Int, Int)]
myZip [] = []
myZip (a:b:xs) = (a, b) : myZip xs

myReplace :: Ord a => (a, a) -> (a, a)
myReplace (x, y)
	| x < y     = (x, y)
	| otherwise = (y, x)