#include <bits/stdc++.h>
using namespace std;
int no(int i) { return (1 << 18) - 1 - i; }
void zero(int n, int x) {
  int k = n / 2;
  int i = 1;
  while (k > 0) {
    if (i != x && no(i) != x) {
      cout << i << ' ' << no(i) << ' ';
      k--;
    }
    i++;
  }
  if (n % 2 == 0) return;
  if (n % 2 == 1) {
    cout << 0 << ' ';
    return;
  }
}
void make(int n, int x) {
  if (x == 0) {
    if (n % 4 == 3 || n % 4 == 0) {
      cout << no(0) << ' ';
      zero(n - 1, no(0));
      return;
    }
    if (n % 4 == 2) {
      cout << no(0) << ' ' << 189 << ' ' << 106 << ' ' << 215 << ' ';
      zero(n - 4, 106);
      return;
    }
    zero(n, -1);
  } else {
    cout << (n % 4 == 0 || n % 4 == 3 ? no(x) : x) << ' ';
    zero(n - 1, (n % 4 == 0 || n % 4 == 3 ? no(x) : x));
  }
}
int main() {
  int n, x;
  cin >> n >> x;
  if (n == 2 && x == 0) {
    cout << "NO";
    return 0;
  }
  cout << "YES" << endl;
  if (n == 1) {
    cout << x;
    return 0;
  }
  make(n, x);
}
