/**
 * Given a list of tuples representing architects, each containing their first name, last name, and age,
 * return a list of unique architect names sorted in descending order based on their ages.
 *
 * @param architects A list of tuples representing architects. Each tuple contains the first name (String),
 * last name (String), and age (Int) of an architect.
 * @return A list of unique architect names (first name + last name) sorted in descending order based on their ages.
 *
 * Example:
 * architects = [("John", "Smith", 35), ("Alice", "Johnson", 40), ("John", "Doe", 30), ("Alice", "Smith", 25)]
 * getUniqueArchitectNames(architects) -> ["Alice Johnson", "John Smith", "John Doe"]
 */
fun getUniqueArchitectNames(architects: List<Triple<String, String, Int>>): List<String> {

    val uniqueNames = mutableSetOf<String>()
    for (architect in architects) {
        val (firstName, lastName, _) = architect
        uniqueNames.add("$firstName $lastName")
    }

    return uniqueNames.sortedDescending()
}
/**
 * Given a list of tuples representing architects, each containing their first name, last name, and age,
 * return a list of unique architect names sorted in descending order based on their ages.
 *
 * @param architects A list of tuples representing architects. Each tuple contains the first name (String),
 * last name (String), and age (Int) of an architect.
 * @return A list of unique architect names (first name + last name) sorted in descending order based on their ages.
 *
 * Example:
 * architects = [("John", "Smith", 35), ("Alice", "Johnson", 40), ("John", "Doe", 30), ("Alice", "Smith", 25)]
 * getUniqueArchitectNames(architects) -> ["Alice Johnson", "John Smith", "John Doe"]
 */
fun getUniqueArchitectNames(architects: List<Triple<String, String, Int>>): List<String> {
/**
 * Given a list of tuples representing architects, each containing their first name, last name, and age,
 * return a list of unique architect names sorted in descending order based on their ages.
 *
 * @param architects A list of tuples representing architects. Each tuple contains the first name (String),
 * last name (String), and age (Int) of an architect.
 * @return A list of unique architect names (first name + last name) sorted in descending order based on their ages.
 *
 * Example:
 * architects = [("John", "Smith", 35), ("Alice", "Johnson", 40), ("John", "Doe", 30), ("Alice", "Smith", 25)]
 * getUniqueArchitectNames(architects) -> ["Alice Johnson", "John Smith", "John Doe"]
 */
fun getUniqueArchitectNames(architects: List<Triple<String, String, Int>>): List<String> {

    val uniqueNames = mutableSetOf<String>()
    for (architect in architects) {
        val (firstName, lastName, _) = architect
        uniqueNames.add("$firstName $lastName")
    }

    return uniqueNames.sortedDescending()
}