72 lines
1.2 KiB
Java
72 lines
1.2 KiB
Java
package chelper;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
import io.InputReader;
|
|
import io.OutputWriter;
|
|
import misc.SimpleSavingChelperSolution;
|
|
|
|
|
|
public class C extends SimpleSavingChelperSolution {
|
|
|
|
public void solve(int testNumber, InputReader in, OutputWriter out) {
|
|
wrapSolve(testNumber, in, out);
|
|
}
|
|
|
|
@Override
|
|
public void solve(int testNumber) {
|
|
int n = in.nextInt();
|
|
int x = in.nextInt();
|
|
|
|
int M = 524288;
|
|
|
|
if (n == 1) {
|
|
out.println("YES");
|
|
out.println(x);
|
|
return;
|
|
}
|
|
|
|
if (n == 2) {
|
|
if (x != 0) {
|
|
out.println("YES");
|
|
out.println(x + " 0");
|
|
return;
|
|
}
|
|
|
|
out.println("NO");
|
|
return;
|
|
}
|
|
|
|
int y = M - 1;
|
|
int t = 0;
|
|
|
|
List<Integer> a = new ArrayList<>();
|
|
|
|
for (int i = 0; i < n - 2; i++) {
|
|
a.add(y);
|
|
t ^= y;
|
|
y--;
|
|
}
|
|
|
|
for (int i = y; i >= 0; i--) {
|
|
int t1 = i;
|
|
int t2 = t ^ i ^ x;
|
|
if (t2 < i || t2 > M) {
|
|
a.add(t1);
|
|
a.add(t2);
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (a.size() != n) {
|
|
System.err.println("NOOO");
|
|
}
|
|
|
|
out.println("YES");
|
|
for (Integer integer : a) {
|
|
out.print(integer + " ");
|
|
}
|
|
}
|
|
}
|