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

typedef long long ll;
typedef pair<int, int> pii;
typedef pair<int, pii> pipii;
typedef pair<pii, int> piipi;
typedef pair<pii, pii> piipii;

#define mp make_pair
#define fi first
#define se second
#define all(a) (a).begin(), (a).end()
#define sz(a) (int)(a).size()
#define eb emplace_back

vector<int> g[300005];
int p[300005];
int get_root(int a){
    if(p[a] == a) return a;
    return p[a] = get_root(p[a]);
}
void combine(int a, int b){
    a = get_root(a), b = get_root(b);
    if(a != b){
        p[a] = b;
    }
}
set<int> black;
bool vis[300005];
int main(){
    int t;
    scanf("%d", &t);
    while(t--){
        int n, m;
        scanf("%d%d", &n, &m);
        for(int i=1;i<=n;i++){
            g[i].clear();
            p[i] = i;
            vis[i] = 0;
        }
        for(int i=1;i<=m;i++){
            int a, b;
            scanf("%d%d", &a, &b);
            g[a].emplace_back(b);
            g[b].emplace_back(a);
            combine(a, b);
        }
        bool ok = 1;
        for(int i=1;i<=n;i++){
            if(get_root(i) != get_root(1)){
                ok = 0;
                break;
            }
        }
        if(!ok) printf("NO\n");
        else{
            vector<int> ans;
            black.insert(1);
            while(!black.empty()){
                int u = *black.begin();
                black.erase(black.begin());
                ans.emplace_back(u);
                vis[u] = 1;
                vector<int> add;
                for(int i=0;i<sz(g[u]);i++){
                    int v = g[u][i];
                    if(vis[v]) continue;
                    if(black.find(v) != black.end()) black.erase(black.find(v));
                    add.emplace_back(v);
                    vis[v] = 1;
                }
                for(int i=0;i<sz(add);i++){
                    int v = add[i];
                    for(int j=0;j<sz(g[v]);j++){
                        int v2 = g[v][j];
                        if(vis[v2]) continue;
                        black.insert(v2);
                    }
                }
            }

            printf("YES\n");
            printf("%d\n", sz(ans));
            for(int i=0;i<sz(ans);i++) printf("%d ", ans[i]);
            printf("\n");
        }
    }   
}
  		     						      				  		 	