n, s = map(int, input().split()) P = [int(input()) for _ in range(n)] bef = P[:n // 2] aft = P[n // 2:] B = {} A = {} lb = len(bef) for bit in range(1 << lb): lst = [] tot = 0 for i in range(lb): if bit >> i & 1: lst.append(i + 1) tot += bef[i] if tot not in B: B[tot] = [] B[tot].append(lst[:]) la = len(aft) for bit in range(1 << la): lst = [] tot = 0 for i in range(la): if bit >> i & 1: lst.append(i + lb + 1) tot += aft[i] if tot not in A: A[tot] = [] A[tot].append(lst[:]) ans = [] for k in B: if s - k in A: for l1 in B[k]: for l2 in A[s - k]: ans.append(l1 + l2) ans.sort() for row in ans: print(*row)