Generate all possible combinations of givens lists