Added precondition to catch sampling errors early: can't have more clusters than points.