#include <bits/stdc++.h>
 
#define int long long

#define ext exit(0)
 
#define pii pair<int, int>
 
#define x1 x1228
#define y1 y1228
 
#define left left228
#define right right228

#define data data228
 
#define pb push_back
#define eb emplace_back
 
#define mp make_pair                                                                
                                                                                                                                        
#define ff first                                                                  
#define ss second   
 
#define all(x) x.begin(), x.end()
#define debug(x) cout << #x << ": " << x << endl; 
#define TIME (ld)clock()/CLOCKS_PER_SEC
 
using namespace std;
typedef long long ll; 
typedef long double ld; 
                                                                                                   
const int maxn = 3e5 + 7, mod = 1e9 + 7, MAXN = 2e6 + 7;
const double eps = 1e-9;                                        
const ll INF = 1e18, inf = 1e15;
mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count());                       
int n, x; 
int a[maxn]; 

void solve() {
    cin >> n >> x; 
    int sm = 0; 
    for (int i = 0; i < n; ++i) {
        cin >> a[i]; 
        sm += a[i]; 
    }
    if (sm == x) {
        cout << "NO\n";
        return;  
    }
    cout << "YES\n"; 
    sort(a, a + n); 
    int sm1 = 0; 
    int id = 0; 
    while (id < n) {
        sm1 += a[id]; 
        if (sm1 == x) {
            cout << a[id + 1] << " " << a[id] << " "; 
            sm1 += a[id + 1]; 
            id += 2; 
        } else {
            cout << a[id] << ' '; 
            ++id; 
        }
    }
    cout << '\n'; 
}                                
                 
signed main() {          
#ifdef LOCAL
    freopen("TASK.in", "r", stdin);
    freopen("TASK.out", "w", stdout);
#endif // LOCAL                                                                             
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.precision(20); 
    cout << fixed; 
    int t = 1; cin >> t; 
    for (int i = 0; i < t; ++i) {              
        solve();
    }
    return 0;
}  