#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define FASTIO cin.tie(0), cout.tie(0), ios::sync_with_stdio(0)
ll q, n, m, color[300100];
vector<int> edges[300100];
bitset<300100> marked, colored, isredcandidate;
vector<int> coloredin1;
bool ok = true;

void mark_component(int act) {
	marked[act] = true;
	for (int to : edges[act])
		if (!marked[to])
			mark_component(to);
}

void solve() {
	cin >> n >> m;
	for (int i = 1; i <= n; i++)
		edges[i].clear();
	for (int i = 1; i <= m; i++) {
		int a, b;
		cin >> a >> b;
		edges[a].push_back(b);
		edges[b].push_back(a);
	}
	
	/// verificam sa nu aiba mai multe componente conexe
	marked = 0;
	mark_component(1);
	for (int i = 1; i <= n; i++)
		if (!marked[i]) {
			cout << "NO\n"; /// are mai multe componente conexe
			return;
		}
	
	/// incercam sa coloram graful in 2 culori
	ok = true;
	colored = 0;
	coloredin1.clear();
	isredcandidate = 0;
	
	queue<int> redcandidates;
	redcandidates.push(1);
	isredcandidate[1] = true;
	
	while (!redcandidates.empty()) {
		int red = redcandidates.front();
		redcandidates.pop();
		if (colored[red])
			continue;
		coloredin1.push_back(red);
		color[red] = 1;
		
		vector<int> bluecandidates;
		for (int to : edges[red])
			if (!colored[to]) {
				colored[to] = true;
				color[to] = 0;
				bluecandidates.push_back(to);
			}
		for (int to : bluecandidates)
			for (int nxtred : edges[to])
				if (!colored[nxtred] && !isredcandidate[nxtred]) {
					isredcandidate[nxtred] = true;
					redcandidates.push(nxtred);
				}
	}
	
	/*for (int i = 1; i <= n; i++)
		cout << i << ' ';
	cout << '\n';
	for (int i = 1; i <= n; i++) {
		if (i >= 10)
			cout << ' ';
		cout << colored[i] << ' ';
	}
	cout << '\n';
	for (int i = 1; i <= n; i++) {
		if (i >= 10)
			cout << ' ';
		cout << color[i] << ' ';
	}
	cout << '\n';*/
	
	if (!ok) {
		cout << "NO\n";
		return;
	}
	
	sort(coloredin1.begin(), coloredin1.end());
	cout << "YES\n" << coloredin1.size() << '\n';
	for (int node : coloredin1)
		cout << node << ' ';
	cout << '\n';
}
 
int main() {
	//FASTIO;
	int tests;
    cin >> tests;
    while (tests--) {
		solve();
	}
    return 0;
}
