#include <bits/stdc++.h>
using namespace std;
int a[100005];
int main() {
  int n, x, i, zz, zzz;
  scanf("%d%d", &n, &x);
  int z = 0;
  if (n > 2) {
    int k = 0;
    while (1) {
      z = 0;
      for (i = 1; i <= n - 2; i++) {
        z ^= (i + k);
      }
      zz = 1 << 18;
      i = 0;
      while (1) {
        int j = 1 << i;
        if (z >= j) {
          if (z & j) {
            zz |= j;
          }
        } else
          break;
        i++;
      }
      zzz = x | (1 << 18);
      if (zz == zzz) {
        k++;
      } else {
        printf("YES\n");
        for (i = 1; i <= n - 2; i++) {
          printf("%d ", i + k);
        }
        if (zz < zzz)
          printf("%d %d\n", zz, zzz);
        else
          printf("%d %d\n", zzz, zz);
        break;
      }
    }
  } else {
    if (n == 2) {
      if (x != 0) {
        printf("YES\n0 %d\n", x);
      } else {
        printf("NO\n");
      }
    } else {
      printf("YES\n%d\n", x);
    }
  }
  return 0;
}
