#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define rep(i, n) for (ll i = 0; i < (ll)n; i++) #define repf(i, a, b) for (ll i = (ll)a; i < (ll)b; i++) #define repr(i, a, b) for (ll i = (ll)a; i > (ll)b; i--) #define all(v) (v).begin(), (v).end() #define mp(a, b) make_pair(a, b) #define pb(x) push_back(x) #define eb(x) emplace_back(x) #define F first #define S second typedef long long ll; typedef long double ld; typedef pair pii; typedef pair pll; typedef pair pdd; typedef vector vll; typedef vector vvll; typedef vector vii; typedef vector vvii; const ll mod = 1e9 + 7; const int infi = 1147483600; const ll infl = 1e17; const char ENDL = '\n'; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); ll n,x; cin >> n >> x; if (x==1){ vll ans; int k = 1; rep(i, (n - 1) / 4) { if (4 * k <= x && x < 4 * (k + 1)) { k++; continue; } ans.eb(4 * k); ans.eb(4 * k + 1); ans.eb(4 * k + 2); ans.eb(4 * k + 3); } if (n % 4 == 0) { ans.eb(1e5); ans.eb(1e5 + 2); ans.eb(2); ans.eb(x); } if (n % 4 == 1) { ans.eb(x); } if (n % 4 == 2) { ans.eb(1e5 + 4); ans.eb(1e5 + 5); } if (n % 4 == 3) { ans.eb(3); ans.eb(1e5); ans.eb(1e5 + 2); } sort(all(ans)); rep(i, n) cout << ans[i] << ENDL; return 0; } vll ans; int k = 1; rep(i,(n-1)/4){ if (4*k<=x && x<4*(k+1)){ k++; } ans.eb(4 * k); ans.eb(4 * k+1); ans.eb(4 * k+2); ans.eb(4 * k+3); k++; } if (n%4==0) { ans.eb(1e5 + 4); ans.eb(1e5 + 5); ans.eb(1); ans.eb(x); } if (n%4==1){ ans.eb(x); } if (n%4==2){ ans.eb(x ^ 1); ans.eb(1); } if (n%4==3){ ans.eb(x ^ 1); ans.eb(1e5 + 4); ans.eb(1e5 + 5); } sort(all(ans)); rep(i, n) cout << ans[i] << ENDL; }