#include <bits/stdc++.h>
using namespace std;
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  int n, x;
  while (cin >> n >> x) {
    int xx = x;
    if (n == 1) {
      cout << "YES" << endl;
      cout << x << endl;
      continue;
    }
    if (n == 2) {
      if (x == 0) {
        cout << "NO" << endl;
      } else {
        cout << "YES" << endl;
        cout << 0 << " " << x << endl;
      }
      continue;
    }
    vector<int> ans;
    ans.clear();
    int k = 0;
    int dd = 1;
    if (x % 2 != 0) {
      while ((x ^ dd) == 0) {
        dd += 2;
      }
      ans.push_back(dd);
      x = (x ^ dd);
      k++;
    }
    int d = 2;
    for (; k < n - 2; k++) {
      if ((x ^ d) == 0) {
        d += 2;
      }
      x = (x ^ d);
      ans.push_back(d);
      d += 2;
    }
    for (int i = dd + 2;; i += 2) {
      if ((x ^ i) != dd) {
        ans.push_back(i);
        ans.push_back(x ^ i);
        break;
      }
    }
    cout << "YES" << endl;
    int s = 0;
    sort(ans.begin(), ans.end());
    for (int i = 0; i < ans.size(); i++) {
      cout << ans[i] << " ";
      s ^= ans[i];
    }
    cout << endl;
  }
  return 0;
}
