/**
 * Returns the intersection of two sets.
 *
 * @param set1 First set
 * @param set2 Second set
 * @return Intersection of the two sets
 */
fun setIntersection(set1: Set<Int>, set2: Set<Int>): Set<Int> {

    val intersection = mutableSetOf<Int>()

    for (elem1 in set1) {
        if (elem1 in set2) {
            intersection.add(elem1)
        }
    }

    return intersection
}
/**
 * Returns the intersection of two sets.
 *
 * @param set1 First set
 * @param set2 Second set
 * @return Intersection of the two sets
 */
fun setIntersection(set1: Set<Int>, set2: Set<Int>): Set<Int> {
/**
 * Returns the intersection of two sets.
 *
 * @param set1 First set
 * @param set2 Second set
 * @return Intersection of the two sets
 */
fun setIntersection(set1: Set<Int>, set2: Set<Int>): Set<Int> {

    val intersection = mutableSetOf<Int>()

    for (elem1 in set1) {
        if (elem1 in set2) {
            intersection.add(elem1)
        }
    }

    return intersection
}