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: Wrong Answer)

{-
HOME- ITP1-ITP1_3-C
Discussion Solution Statistics Submit
 
Repetitive Processing - Swapping Two Numbers
????????¶??? : 1 sec, ?????¢?????¶??? : 65536 KB
2 ????????°?????????

???????????´??° x, y ?????????????????????????????????????°?????????????????????????????????°?????????????????????????????????

?????????????????????????????\?????????????????????????????????????????????????????????????????????????????¨?????¨?????????????????????
Input

??\???????????°????????????????????????????§?????????????????????????????????????????????????????????§??????????????????????????´??° x, y ??????????????????????§?????????????????????????

x ??¨ y ?????¨?????? 0 ?????¨?????\?????????????????????????????????????????????????????????????????????????????£????????????????????????
Output

??????????????????????????¨??????x ??¨ y ????°????????????????????????????????????????????????????????????????x ??¨ y ????????????????????????????????\??????????????????
Sample Input

3 2
2 2
5 3
0 0

Sample Output

2 3
2 2
3 5
-}
import Data.List.Split
import Data.List
import Text.Regex.Posix

main = prtln
prtln :: IO ()
prtln = do
  s <- getLine
  let t = aux s
  if t == "" then return ()
    else do putStrLn t
            prtln 

aux :: String -> String
aux s = if s =~ "^ *0 +0 *$" :: Bool then ""
        else intercalate " " $ sort  $ (splitOn " " s)