/**
 * Given two lists, return a new list that contains only the elements that are unique to both lists.
 *
 * @param list1 A list of elements (can contain duplicates)
 * @param list2 Another list of elements (can contain duplicates)
 * @return A new list containing only the elements that are unique to both lists
 */
fun findUniqueElements(list1: List<Any>, list2: List<Any>): List<Any> {

    // Convert the lists to sets
    val set1 = list1.toSet()
    val set2 = list2.toSet()

    // Find the elements that are unique to both sets
    val uniqueElements = (set1 - set2 + (set2 - set1)).toList()

    return uniqueElements
}
/**
 * Given two lists, return a new list that contains only the elements that are unique to both lists.
 *
 * @param list1 A list of elements (can contain duplicates)
 * @param list2 Another list of elements (can contain duplicates)
 * @return A new list containing only the elements that are unique to both lists
 */
fun findUniqueElements(list1: List<Any>, list2: List<Any>): List<Any> {
/**
 * Given two lists, return a new list that contains only the elements that are unique to both lists.
 *
 * @param list1 A list of elements (can contain duplicates)
 * @param list2 Another list of elements (can contain duplicates)
 * @return A new list containing only the elements that are unique to both lists
 */
fun findUniqueElements(list1: List<Any>, list2: List<Any>): List<Any> {

    // Convert the lists to sets
    val set1 = list1.toSet()
    val set2 = list2.toSet()

    // Find the elements that are unique to both sets
    val uniqueElements = (set1 - set2 + (set2 - set1)).toList()

    return uniqueElements
}