/**
 * This exercise requires finding the non-matching pairs between two sets of data.
 *
 * @param data1 First set of data
 * @param data2 Second set of data
 * @return A list of tuples where each tuple contains the non-matching pair from the two sets of data
 */
fun findNonMatchingPairs(data1: List<Any>, data2: List<Any>): List<Pair<Any, Any?>> {

    val nonMatchingPairs = mutableListOf<Pair<Any, Any?>>()

    for (item1 in data1) {
        var foundMatch = false

        for (item2 in data2) {
            if (item1 != item2) {
                nonMatchingPairs.add(Pair(item1, item2))
                foundMatch = true
            }
        }

        if (!foundMatch) {
            nonMatchingPairs.add(Pair(item1, null))
        }
    }

    return nonMatchingPairs
}
/**
 * This exercise requires finding the non-matching pairs between two sets of data.
 *
 * @param data1 First set of data
 * @param data2 Second set of data
 * @return A list of tuples where each tuple contains the non-matching pair from the two sets of data
 */
fun findNonMatchingPairs(data1: List<Any>, data2: List<Any>): List<Pair<Any, Any?>> {
/**
 * This exercise requires finding the non-matching pairs between two sets of data.
 *
 * @param data1 First set of data
 * @param data2 Second set of data
 * @return A list of tuples where each tuple contains the non-matching pair from the two sets of data
 */
fun findNonMatchingPairs(data1: List<Any>, data2: List<Any>): List<Pair<Any, Any?>> {

    val nonMatchingPairs = mutableListOf<Pair<Any, Any?>>()

    for (item1 in data1) {
        var foundMatch = false

        for (item2 in data2) {
            if (item1 != item2) {
                nonMatchingPairs.add(Pair(item1, item2))
                foundMatch = true
            }
        }

        if (!foundMatch) {
            nonMatchingPairs.add(Pair(item1, null))
        }
    }

    return nonMatchingPairs
}