#include<cstdio>
#include<algorithm>
using namespace std;

int n,a,b;

void F(int a,int b,int v){
	if(a==b){ printf("%d ",a); return; }
	int x=(a^b)&(-(a^b)); v^=x; int y=v&(-v);
	F(a,a^y,v); F(a^y^x,b,v);
}

int main(){
	scanf("%d%d%d",&n,&a,&b);
	if(__builtin_popcount(a^b)&1) puts("YES"),F(a,b,(1<<n)-1); else puts("NO");
	return 0;
}