An algorithm to sort a given list of participants into randomized teams, keeping diversity of teams in mind.