let find_team_numbers strat possib numstud =
let lists = find_all_counters possib numstud in
if ((List.length lists)=0) then failwith "No solution for finding teams";
let ll = List.map (fun t -> ((List.length t),t)) lists in
let ml = List.sort (fun u1 u2 -> compare (fst u1) (fst u2)) ll in
let nl = apply_goal strat ml in
let ul = remove_doubles (snd nl) in
List.map (fun t ->
(t,(List.length (select (fun v -> v = t) (snd nl)))))
ul