/**
 * Given a list of archaeological sites and a minimum rating,
 * return the count of sites that have a rating greater than or equal to
 * the minimum rating.
 *
 * @param archaeologicalSites list of dictionaries, each representing an archaeological site
 * @param minimumRating integer, the minimum rating threshold
 * @return integer, the count of archaeological sites with ratings greater than or equal to the minimum rating
 */
fun countRatings(archaeologicalSites: List<Map<String, Any>>, minimumRating: Int): Int {

    var count = 0

    for (site in archaeologicalSites) {
        if ("rating" in site && site["rating"] as Int >= minimumRating) {
            count++
        }
    }

    return count
}
/**
 * Given a list of archaeological sites and a minimum rating,
 * return the count of sites that have a rating greater than or equal to
 * the minimum rating.
 *
 * @param archaeologicalSites list of dictionaries, each representing an archaeological site
 * @param minimumRating integer, the minimum rating threshold
 * @return integer, the count of archaeological sites with ratings greater than or equal to the minimum rating
 */
fun countRatings(archaeologicalSites: List<Map<String, Any>>, minimumRating: Int): Int {
/**
 * Given a list of archaeological sites and a minimum rating,
 * return the count of sites that have a rating greater than or equal to
 * the minimum rating.
 *
 * @param archaeologicalSites list of dictionaries, each representing an archaeological site
 * @param minimumRating integer, the minimum rating threshold
 * @return integer, the count of archaeological sites with ratings greater than or equal to the minimum rating
 */
fun countRatings(archaeologicalSites: List<Map<String, Any>>, minimumRating: Int): Int {

    var count = 0

    for (site in archaeologicalSites) {
        if ("rating" in site && site["rating"] as Int >= minimumRating) {
            count++
        }
    }

    return count
}