import
java.io.*;
import
java.util.*;
class
GFG {
public
static
boolean
flag =
false
;
public
static
void
helper(
int
i,
int
r,
int
cnt,
int
tmp,
int
x,
List<Integer> v)
{
if
(i > r) {
return
;
}
if
(i == r && tmp == x && cnt ==
0
) {
flag =
true
;
}
if
(cnt >
0
) {
v.add(i);
helper(i +
1
, r, cnt -
1
, tmp ^ i, x, v);
if
(flag ==
true
) {
return
;
}
v.remove(v.size() -
1
);
}
helper(i +
1
, r, cnt, tmp, x, v);
}
public
static
List<Integer> solve(
int
l,
int
r,
int
k,
int
x)
{
List<Integer> res =
new
ArrayList<>();
helper(l, r, k,
0
, x, res);
return
res;
}
public
static
void
main(String[] args)
{
int
L =
1
, R =
10
, K =
3
, X =
5
;
List<Integer> ans = solve(L, R, K, X);
if
(ans.size() ==
0
) {
System.out.print(
"Not Possible"
);
}
else
{
for
(
int
i : ans) {
System.out.print(i +
" "
);
}
}
}
}