/**
 * Given two tuples, tup1 and tup2, the function should return a new tuple containing the intersection of the elements in the two tuples.
 *
 * @param tup1 The first tuple.
 * @param tup2 The second tuple.
 * @return A new tuple containing the intersection of the elements in tup1 and tup2.
 *
 * Example:
 * val tup1 = listOf(1, 2, 3, 4)
 * val tup2 = listOf(3, 4, 5, 6)
 * slicingTupleIntersection(tup1, tup2) // Output: [3, 4]
 */
fun slicingTupleIntersection(tup1: List<Int>, tup2: List<Int>): List<Int> {

    // Use set intersection to find the common elements between tup1 and tup2
    val intersection = tup1.intersect(tup2).toList()

    return intersection
}
/**
 * Given two tuples, tup1 and tup2, the function should return a new tuple containing the intersection of the elements in the two tuples.
 *
 * @param tup1 The first tuple.
 * @param tup2 The second tuple.
 * @return A new tuple containing the intersection of the elements in tup1 and tup2.
 *
 * Example:
 * val tup1 = listOf(1, 2, 3, 4)
 * val tup2 = listOf(3, 4, 5, 6)
 * slicingTupleIntersection(tup1, tup2) // Output: [3, 4]
 */
fun slicingTupleIntersection(tup1: List<Int>, tup2: List<Int>): List<Int> {
/**
 * Given two tuples, tup1 and tup2, the function should return a new tuple containing the intersection of the elements in the two tuples.
 *
 * @param tup1 The first tuple.
 * @param tup2 The second tuple.
 * @return A new tuple containing the intersection of the elements in tup1 and tup2.
 *
 * Example:
 * val tup1 = listOf(1, 2, 3, 4)
 * val tup2 = listOf(3, 4, 5, 6)
 * slicingTupleIntersection(tup1, tup2) // Output: [3, 4]
 */
fun slicingTupleIntersection(tup1: List<Int>, tup2: List<Int>): List<Int> {

    // Use set intersection to find the common elements between tup1 and tup2
    val intersection = tup1.intersect(tup2).toList()

    return intersection
}