module Template_08(number, evenListSum, 
  dig2intFold, dig2int, insertionSortRec, insertionSortFold, foldNested, nextRow, pascalsTriangle) where

-- IMPORTANT -----------------------------
doNotModify anything above this line = True

-- Exercise 1

number :: [a] -> [(Integer,a)]
number = undefined

evenListSum :: [Integer] -> Integer
evenListSum = undefined

-- Exercise 2

dig2int :: [Integer] -> Integer
dig2int [] = 0
dig2int (x : xs) = x + 10 * dig2int xs

dig2intFold :: [Integer] -> Integer
dig2intFold = undefined

insertionSortRec :: Ord a => [a] -> [a]
insertionSortRec [] = []
insertionSortRec (x : xs) = insert (insertionSortRec xs)
  where
    insert [] = [x]
    insert (y : ys)
      | x < y = x : y : ys
      | otherwise = y : insert ys

insertionSortFold :: Ord a => [a] -> [a]
insertionSortFold = undefined

foldNested :: (b -> a -> b) -> b -> [[a]] -> b
foldNested = undefined

-- Exercise 3

nextRow :: [Integer] -> [Integer]
nextRow = undefined

pascalsTriangle :: Integer -> [[Integer]]
pascalsTriangle = undefined