import sys input = sys.stdin.readline def dfs(n, m, nums, visited, result, result_set) : if len(result) == m : result_set.append(result.copy()) return result_set for i in range(n) : if not visited[i] : visited[i] = True result.append(nums[i]) result_set = dfs(n,m,nums,visited,result, result_set) result.pop() visited[i] = False return result_set N, M = map(int, input().split()) nums = list(map(int,input().split())) visited = [False]*N result_set = sorted(list(set(tuple(t) for t in dfs(N,M,nums,visited,[],[])))) for t in result_set : print(*t)