/**
 * Given a list of photos and a list of tags,
 * count the number of photos that contain all of the tags.
 *
 * @param photos List of dictionaries representing photos.
 * @param tags List of tags to search for.
 * @return Number of photos that contain all the tags.
 */
fun countPhotosWithTags(photos: List<Map<String, List<String>>>, tags: List<String>): Int {

    var count = 0

    for (photo in photos) {
        if (tags.all { tag -> photo["tags"]?.contains(tag) == true }) {
            count++
        }
    }

    return count
}
/**
 * Given a list of photos and a list of tags,
 * count the number of photos that contain all of the tags.
 *
 * @param photos List of dictionaries representing photos.
 * @param tags List of tags to search for.
 * @return Number of photos that contain all the tags.
 */
fun countPhotosWithTags(photos: List<Map<String, List<String>>>, tags: List<String>): Int {
/**
 * Given a list of photos and a list of tags,
 * count the number of photos that contain all of the tags.
 *
 * @param photos List of dictionaries representing photos.
 * @param tags List of tags to search for.
 * @return Number of photos that contain all the tags.
 */
fun countPhotosWithTags(photos: List<Map<String, List<String>>>, tags: List<String>): Int {

    var count = 0

    for (photo in photos) {
        if (tags.all { tag -> photo["tags"]?.contains(tag) == true }) {
            count++
        }
    }

    return count
}