#include<bits/stdc++.h>
using namespace std;

const int maxn=1e5+10;
int n,x,ans[maxn<<1];
stack<int> s,l;

int main(){
	cin>>n>>x;
	if(x==1||x==2*n-1){
		puts("No");
		return 0;
	}
	puts("Yes");
	for(int i=1;i<x;++i)
		s.push(i);
	for(int i=x+1;i<2*n;++i)
		l.push(i);
	ans[n]=x;
	for(int i=n-1;i;--i)
		if(s.empty()){
			ans[i]=l.top();
			l.pop();
		}
		else{
			ans[i]=s.top();
			s.pop();
		}
	for(int i=n+1;i<2*n;++i)
		if(l.empty()){
			ans[i]=s.top();
			s.pop();
		}
		else{
			ans[i]=l.top();
			l.pop();
		}
	for(int i=1;i<2*n;++i)
		printf("%d\n",ans[i]);
	return 0;
}