elements = [1,2,3,4,5,6]
combinations = []
k = 3

def get_combinations_BFS():
    queue = [([],0)]
    while queue:
        combination, elem_idx = queue.pop()

        if elem_idx == len(elements):
            continue

        new_comb = combination[:]
        new_comb.append(elements[elem_idx])

        if len(new_comb) == k:
            combinations.append(new_comb)
        
        queue.append((combination, elem_idx+1))
        queue.append((new_comb, elem_idx+1))

get_combinations_BFS()


print(combinations)