/**
 * This function takes a dictionary of photographer's photos as input and returns the count
 * of photos where the photo has both specific tags and a certain resolution.
 *
 * @param photoDict A dictionary where the keys are photo names and the values are dictionaries
 * with two keys: "tags" (a list of strings) and "resolution" (a pair of two integers).
 * @return An integer representing the count of photos satisfying the specified conditions.
 */
fun countPhotos(photoDict: Map<String, Map<String, Any>>): Int {

    var count = 0
    
    // Iterate over each photo in the dictionary
    for ((photoName, photoInfo) in photoDict) {
        val tags = photoInfo["tags"] as List<String>
        val resolution = photoInfo["resolution"] as Pair<Int, Int>
        
        // Check if the photo has both tags "landscape" and "nature" and has a resolution
        // where width is greater than or equal to 1920 and height is greater than or equal to 1080
        if ("landscape" in tags && "nature" in tags && resolution.first >= 1920 && resolution.second >= 1080) {
            count++
        }
    }
    
    return count
}
/**
 * This function takes a dictionary of photographer's photos as input and returns the count
 * of photos where the photo has both specific tags and a certain resolution.
 *
 * @param photoDict A dictionary where the keys are photo names and the values are dictionaries
 * with two keys: "tags" (a list of strings) and "resolution" (a pair of two integers).
 * @return An integer representing the count of photos satisfying the specified conditions.
 */
fun countPhotos(photoDict: Map<String, Map<String, Any>>): Int {
/**
 * This function takes a dictionary of photographer's photos as input and returns the count
 * of photos where the photo has both specific tags and a certain resolution.
 *
 * @param photoDict A dictionary where the keys are photo names and the values are dictionaries
 * with two keys: "tags" (a list of strings) and "resolution" (a pair of two integers).
 * @return An integer representing the count of photos satisfying the specified conditions.
 */
fun countPhotos(photoDict: Map<String, Map<String, Any>>): Int {

    var count = 0
    
    // Iterate over each photo in the dictionary
    for ((photoName, photoInfo) in photoDict) {
        val tags = photoInfo["tags"] as List<String>
        val resolution = photoInfo["resolution"] as Pair<Int, Int>
        
        // Check if the photo has both tags "landscape" and "nature" and has a resolution
        // where width is greater than or equal to 1920 and height is greater than or equal to 1080
        if ("landscape" in tags && "nature" in tags && resolution.first >= 1920 && resolution.second >= 1080) {
            count++
        }
    }
    
    return count
}