/**
 * Given two dictionaries, find the intersection of their keys and values using the AND operator.
 *
 * @param dict1 The first dictionary.
 * @param dict2 The second dictionary.
 * @return A new dictionary containing the intersection of keys and values.
 */
fun intersectionOfDicts(dict1: Map<String, Int>, dict2: Map<String, Int>): Map<String, Int> {

    val intersection = mutableMapOf<String, Int>()
    for (key in dict1.keys.intersect(dict2.keys)) {
        if (dict1[key] == dict2[key]) {
            intersection[key] = dict1[key]!!
        }
    }
    return intersection
}
/**
 * Given two dictionaries, find the intersection of their keys and values using the AND operator.
 *
 * @param dict1 The first dictionary.
 * @param dict2 The second dictionary.
 * @return A new dictionary containing the intersection of keys and values.
 */
fun intersectionOfDicts(dict1: Map<String, Int>, dict2: Map<String, Int>): Map<String, Int> {
/**
 * Given two dictionaries, find the intersection of their keys and values using the AND operator.
 *
 * @param dict1 The first dictionary.
 * @param dict2 The second dictionary.
 * @return A new dictionary containing the intersection of keys and values.
 */
fun intersectionOfDicts(dict1: Map<String, Int>, dict2: Map<String, Int>): Map<String, Int> {

    val intersection = mutableMapOf<String, Int>()
    for (key in dict1.keys.intersect(dict2.keys)) {
        if (dict1[key] == dict2[key]) {
            intersection[key] = dict1[key]!!
        }
    }
    return intersection
}