Speedback is the merging of speed-dating with feedback: a 2 min. talk with all pairs of of set of people. I'm in a team where we want to give quick feedback to everyone in the team, 1-on-1. I want to plan the ideal setup. I found [a library][1] that gives me all combinations: setOf("alexandre", "sergiu", "joana", "tiago", "susana", "david") .combinations(2) This returns all pairs. But now I want to group them in a way that we maximize the concurrency of simultaneous 1-on-1s so we reduce the total time of the sessions. For example, first group could be: "alexandre" with "sergiu" "joana" with "tiago" "susana" with "david" then it gets harder.. Do you know which Kotlin functional method could help me (or can you hint about the solution)? [1]: https://github.com/MarcinMoskala/KotlinDiscreteMathToolkit