/**
 * You are a photographer and you have a list of photos to edit. Each photo has a list of tags associated with it.
 * You want to calculate the number of photos that have all the specified tags to be edited.
 *
 * Complete the code below to implement the logic.
 * Assume that the input parameters are valid.
 *
 * @param photos A list of maps representing photos. Each map has a 'tags' key which contains
 *               a list of tags associated with that photo.
 * @param tagsToEdit A list of tags that should be present in the photos to consider them for editing.
 * @return The number of photos that have all the specified tags to be edited.
 */
fun calculatePhotosToEdit(photos: List<Map<String, List<String>>>, tagsToEdit: List<String>): Int {

    var count = 0

    for (photo in photos) {
        var allTagsPresent = true

        for (tag in tagsToEdit) {
            if (tag !in photo["tags"]!!) {
                allTagsPresent = false
                break
            }
        }

        if (allTagsPresent) {
            count++
        }
    }

    return count
}
/**
 * You are a photographer and you have a list of photos to edit. Each photo has a list of tags associated with it.
 * You want to calculate the number of photos that have all the specified tags to be edited.
 *
 * Complete the code below to implement the logic.
 * Assume that the input parameters are valid.
 *
 * @param photos A list of maps representing photos. Each map has a 'tags' key which contains
 *               a list of tags associated with that photo.
 * @param tagsToEdit A list of tags that should be present in the photos to consider them for editing.
 * @return The number of photos that have all the specified tags to be edited.
 */
fun calculatePhotosToEdit(photos: List<Map<String, List<String>>>, tagsToEdit: List<String>): Int {
/**
 * You are a photographer and you have a list of photos to edit. Each photo has a list of tags associated with it.
 * You want to calculate the number of photos that have all the specified tags to be edited.
 *
 * Complete the code below to implement the logic.
 * Assume that the input parameters are valid.
 *
 * @param photos A list of maps representing photos. Each map has a 'tags' key which contains
 *               a list of tags associated with that photo.
 * @param tagsToEdit A list of tags that should be present in the photos to consider them for editing.
 * @return The number of photos that have all the specified tags to be edited.
 */
fun calculatePhotosToEdit(photos: List<Map<String, List<String>>>, tagsToEdit: List<String>): Int {

    var count = 0

    for (photo in photos) {
        var allTagsPresent = true

        for (tag in tagsToEdit) {
            if (tag !in photo["tags"]!!) {
                allTagsPresent = false
                break
            }
        }

        if (allTagsPresent) {
            count++
        }
    }

    return count
}