from collections import defaultdict,deque import sys,heapq,bisect,math,itertools,string,queue,copy,time sys.setrecursionlimit(10**8) INF = float('inf') mod = 10**9+7 eps = 10**-7 def inp(): return int(input()) def inpl(): return list(map(int, input().split())) def inpl_str(): return list(input().split()) N,X = inpl() c = 4 if N%4 == 1: ans = [X] N -= 1 elif N%4 == 0: if X == 1: ans = [1,2,4,6] c += 4 elif X == 2: ans = [10**5+4,10**5+5,1,2] elif X == 3: ans = [10**5+4,10**5+5,1,3] else: ans = [X,1,2,3] N -= 4 elif N%4 == 2: if X == 1: ans = [2,3] elif X%4 == 0 or X%4 == 2: ans = [X+1,1] else: ans = [X-1,1] N -= 2 elif N%4 == 3: if X == 1: ans = [3,4,6] c += 4 elif X == 2: ans = [3,10**5+4,10**5+5] elif X == 3: ans = [2,10**5+4,10**5+5] elif X%4 == 0 or X%4 == 2: ans = [X+1,2,3] else: ans = [X-1,2,3] N -= 3 while N > 0: if X//4 == c//4: c += 4 ans.append(c) ans.append(c+1) ans.append(c+2) ans.append(c+3) c += 4 N -= 4 ''' print(ans) tmp = 0 for a in ans: tmp ^= a print(tmp) ''' for a in ans: print(a) #'''