#include #include int main() { int n, x, s = 0; std::cin >> n >> x; if (n == 1) { std::cout << x; return 0; } std::vector a(n); for (int i = 0; i < n - 1; ++i) { a[i] = i + 1; s ^= a[i]; } int last = s ^ x; bool conflict = false; if (last == 0) conflict = true; else if (last < n) conflict = true; if (conflict) { a[0] ^= 1 << 18; a[1] ^= 1 << 19; last ^= (1 << 18) | (1 << 19); } for (int i = 0; i < n - 1; ++i) std::cout << a[i] << " "; std::cout << last << std::endl; return 0; }