/**
 * Given a list of animal characteristics and a list of animals,
 * create a list comprehension that filters the animals based on
 * the provided characteristics.
 *
 * @param characteristics A list of characteristics (strings)
 * @param animals A list of animals (strings)
 * @return filteredAnimals A list of animals that have all the
 * provided characteristics
 */
fun findAnimalCharacteristics(characteristics: List<String>, animals: List<String>): List<String> {

    return animals.filter { animal ->
        characteristics.all { characteristic -> animal.contains(characteristic) }
    }
}
/**
 * Given a list of animal characteristics and a list of animals,
 * create a list comprehension that filters the animals based on
 * the provided characteristics.
 *
 * @param characteristics A list of characteristics (strings)
 * @param animals A list of animals (strings)
 * @return filteredAnimals A list of animals that have all the
 * provided characteristics
 */
fun findAnimalCharacteristics(characteristics: List<String>, animals: List<String>): List<String> {
/**
 * Given a list of animal characteristics and a list of animals,
 * create a list comprehension that filters the animals based on
 * the provided characteristics.
 *
 * @param characteristics A list of characteristics (strings)
 * @param animals A list of animals (strings)
 * @return filteredAnimals A list of animals that have all the
 * provided characteristics
 */
fun findAnimalCharacteristics(characteristics: List<String>, animals: List<String>): List<String> {

    return animals.filter { animal ->
        characteristics.all { characteristic -> animal.contains(characteristic) }
    }
}