module SumOfMultiples (..) where


sumOfMultiples : List Int -> Int -> Int
sumOfMultiples multiples limit =
  List.sum (List.filter (inMultiples multiples) [1..(limit - 1)])


inMultiples : List Int -> Int -> Bool
inMultiples multiples candidate =
  List.any (\factor -> candidate % factor == 0) multiples