1 2 3 4 5
combination :: Int -> [a] -> [[a]] combination 0 _ = [[]] combination _ [] = [] combination c (x:xs) = (map (x:) (combination (c-1) xs)) ++ (combination c xs)