import System.Random
import Text.Printf

direction = [(1, 0), (0, 1), (-1, 0), (0, -1)]

printPoint :: (Int, (Int, Int)) -> IO ()
printPoint (n, (x, y)) = printf "%4d%4d%4d¥n" n x y

addPair (x1, y1) (x2, y2) = (x1 + x2, y1 + y2)

main = do
  gen <- getStdGen
  mapM_ printPoint $ take 10 $ zip [1..] $ scanl addPair (0, 0) $ map (\x -> direction !! (mod x 4)) $ randoms gen

