#include <bits/stdc++.h>
using namespace std;
const int N = 100000;
const int inf = (int)1e9 + 1;
const long long big = (long long)1e18 + 1;
const int P = 239;
const int MOD = (int)1e9 + 7;
const int MOD1 = (int)1e9 + 9;
const double eps = 1e-9;
const double pi = atan2(0, -1);
const int ABC = 26;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.precision(20);
  int n, x;
  cin >> n >> x;
  if (n == 1) {
    cout << "YES\n";
    cout << x << "\n";
    return 0;
  }
  if (n == 2 && x == 0) {
    cout << "NO\n";
    return 0;
  }
  int a[n], res = 0;
  for (int i = 0; i < n - 1; i++) {
    a[i] = i;
    res ^= a[i];
  }
  a[n - 1] = x ^ res;
  if (a[n - 1] < n - 1) {
    if (a[n - 2] != a[n - 1])
      a[n - 2] ^= (1 << 18);
    else
      a[n - 3] ^= (1 << 18);
    a[n - 1] ^= (1 << 18);
  }
  cout << "YES\n";
  for (int i = 0; i < n; i++) cout << a[i] << " ";
  cout << "\n";
  res = 0;
  for (int i = 0; i < n; i++) res ^= a[i];
  return 0;
}
