#include <array>
#include<vector>
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include <algorithm>
#include <unordered_map>
#define pb push_back
#define ll long long
#define rep(i, a, b) for (int i = a; i < b; i++)
#define mp make_pair
#define mod 1000000007
#define pi 3.141592653589793238

using namespace std;

bool comp(pair<ll, ll> x, pair<ll, ll> y)
{
	return x.first > y.first;
}

void solve(void)
{
	ll n,w;
	cin>>n>>w;

	ll arr[n];
	ll s=0;

	for(int i=0;i<n;i++)
	{
	
		cin>>arr[i];
		s+=arr[i];
	}

	if(w>s)
	{
		cout<<"YES\n";
		for(int i=0;i<n;i++)
		{
			cout<<arr[i]<<" ";
		}
		cout<<"\n";
		return;
	}
	if(w==s)
	{
		cout<<"NO\n";
		return;
	}

	sort(arr,arr+n);

	int k=n;

	while(k--)
	{
		ll s=0;
		bool flag=1;
		for(int i=0;i<n;i++)
		{
			s+=arr[i];
			if(s==w)
			{
				flag=0;
				break;
			}
		}
		if(flag==0)
		{
			ll temp[n];
			temp[0]=arr[n-1];
			for(int i=0;i<n-1;i++)
			{
				temp[i+1]=arr[i];
			}

			for(int i=0;i<n;i++)
			{
				arr[i]=temp[i];
			}
			

		}
		else if(flag)
		{
			cout<<"YES\n";
			for(int i=0;i<n;i++)
			{
				cout<<arr[i]<<" ";
			}
			return;

		}


	}

	cout<<"NO\n";
	return;



}

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	int t;
	cin >> t;
	while (t--)
	{

		solve();
	}
	return 0;
}