function better(ls) {
  var sorted = _.sortBy(ls, function (subls) {
    return -_.uniq(subls).length;
  });
  var ret = greedy(sorted);
  return ret;
}
## Better solver

  This *better* solver is still trivial.
  We sort the input so larger sets are in the beginning, thus the fift property will be satisfied.