data class Person(val name: String, val hobbies: List<String>)
fun main() {
val persons = listOf(
Person("Alice", listOf("Reading", "Swimming")),
Person("Bob", listOf("Cycling", "Painting")),
Person("Charlie", listOf("Swimming", "Cooking"))
)
val allHobbies = persons.flatMap { it.hobbies }
println("All Hobbies: $allHobbies")
val distinctHobbies = allHobbies.distinct()
println("Distinct Hobbies: $distinctHobbies")
val groupedByHobbies = persons.flatMap { person ->
person.hobbies.map { hobby -> hobby to person.name }
}.groupBy({ it.first }, { it.second })
println("Grouped by Hobbies: $groupedByHobbies")
}