private static <T> List<T> remaining(List<T> list, List<T> c) {
        return list.stream().filter(e -> !c.contains(e)).collect(toList());
    }
In how many ways can a group of 9 people work in 3 disjoint subgroups of 2, 3 and 4 persons?
Write a predicate that generates all the possibilities via backtracking
java8/src/main/java/com/shekhargulati/ninetynine_problems/_01_lists/P27.java