#include <iostream>
using namespace std;
int p[200005],n,x;
bool used[200005];
void set(int i,int j)
{
	if (j<1 || j>=2*n || used[j])
	return;
	p[i]=j;
	used[j]=1;
}
int main()
{
	scanf("%d%d",&n,&x);
	if (x==1 || x==2*n-1)
	{
		printf("No");
		return 0;
	}
	printf("Yes\n");
	if (n==2)
	{
		printf("1 2 3");
		return 0;
	}
	set(n,x);
	set(n-1,x-1);
	set(n+1,x+1);
	set(n-2,x+2);
	set(n+2,x-2);
	int cur=1;
	for (int i=1;i<2*n;i++)
	{
		if (!p[i])
		{
			while (used[cur])
			cur++;
			set(i,cur);
		}
		printf("%d ",p[i]);
	}
}