/**
 * This function takes a list of maps containing architects and their projects,
 * and returns a set of projects that are common to all architects.
 */
fun findCommonElements(architects: List<Map<String, Set<String>>>): Set<String> {

    // Select the first architect to initialize the common projects
    var commonProjects = architects[0].values.flatten().toSet()

    // Iterate through the remaining architects and update the common projects
    for (i in 1 until architects.size) {
        // Get the current architect's projects as a set
        val currentProjects = architects[i].values.flatten().toSet()

        // Find the intersection of the current projects and the common projects
        commonProjects = commonProjects.intersect(currentProjects)
    }

    return commonProjects
}
/**
 * This function takes a list of maps containing architects and their projects,
 * and returns a set of projects that are common to all architects.
 */
fun findCommonElements(architects: List<Map<String, Set<String>>>): Set<String> {
/**
 * This function takes a list of maps containing architects and their projects,
 * and returns a set of projects that are common to all architects.
 */
fun findCommonElements(architects: List<Map<String, Set<String>>>): Set<String> {

    // Select the first architect to initialize the common projects
    var commonProjects = architects[0].values.flatten().toSet()

    // Iterate through the remaining architects and update the common projects
    for (i in 1 until architects.size) {
        // Get the current architect's projects as a set
        val currentProjects = architects[i].values.flatten().toSet()

        // Find the intersection of the current projects and the common projects
        commonProjects = commonProjects.intersect(currentProjects)
    }

    return commonProjects
}