#include <bits/stdc++.h>
using namespace std;
clock_t T;
constexpr auto EPS = 1e-7;
const int mod = (int)1e9 + 7;
const double pi = acos(-1);
int dx[] = {0, 0, 1, -1, 1, 1, -1, -1};
int dy[] = {1, -1, 0, 0, 1, -1, 1, -1};
long long gcd(long long a, long long b) { return (a) ? gcd(b % a, a) : b; }
long long lcm(long long a, long long b) { return (a * b) / gcd(a, b); }
void COME_BACK() {
  std::ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
}
int main() {
  COME_BACK();
  int n, x;
  cin >> n >> x;
  if (n == 2 && !x)
    return cout << "NO"
                << "\n",
           0;
  if (n == 1)
    return cout << "YES"
                << "\n"
                << x,
           0;
  if (n == 2)
    return cout << "YES"
                << "\n"
                << 0 << " " << x,
           0;
  cout << "YES"
       << "\n";
  for (int i = 0; i < n - 3; i++) cout << i << " ", x ^= i;
  cout << ((1 << 18) ^ x) << " " << (1 << 19) << " " << ((1 << 18) ^ (1 << 19))
       << "\n";
}
