from collections import defaultdict def main(): N, M = map(int, input().split()) A = set(map(int, input().split())) if M == 1: print(max(N)) return if N == M: print(*A, sep=' ') return num = defaultdict(list) for i in A: l = len(f'{i:b}') - 1 num[l].append(i) rm = set() n = N - M ans = [] for i, j in sorted(num.items(), reverse=1): while len(j) > 1: rm.add(num[i].pop(-1)) if len(rm) == n: for k in num.values(): ans.extend(k) print(*ans, sep=' ') return break for i, j in sorted(num.items()): while len(j) > 0: rm.add(num[i].pop(-1)) if len(rm) == n: for k in num.values(): ans.extend(k) print(*ans, sep=' ') return main()