pairUp :: [a] -> [(a, a)]
pairUp [] = []
pairUp (x:xs) = map ((,) x) xs ++ pairUp xs