#include <bits/stdc++.h>
#define For(a,b,c) for(int a=b;a<=c;++a)
#define lb(x) ((x)&(-(x)))
using namespace std;
void Fly (int a,int b,int v) {
	if (a==b) {
		printf("%d ",a);
		return;
	}
	int x=lb(a^b);
	v^=x;
	int y=lb(v);
	Fly(a,a^y,v);
	Fly(a^y^x,b,v);
}
int main () {
	int n,a,b;
	scanf("%d%d%d",&n,&a,&b);
	if (__builtin_popcount(a^b)&1) {
		puts("YES");
		Fly(a,b,(1<<n)-1);
	}
	else puts("NO");
	return 0;
}