let choose_nbones c_n cstrs k k' =
match samplers c_n cstrs with
| [] -> assert false
| p_n :: samplers_c_n ->
assert (List.for_all (fun p'_n -> size p_n.u = size p'_n.u) samplers_c_n);
assert (List.for_all (fun p'_n -> size p_n.v = size p'_n.v) samplers_c_n);
let nbones_c_n_u = size p_n.u + k * size p_n.v in
let nbones_c_n_v = k' * size p_n.v in
(nbones_c_n_u, nbones_c_n_v)