#include <bits/stdc++.h>
#define ll long long
#define maxn 1005
using namespace std;
int t, n, m, ok;
vector<int>a[maxn];
bool vis[maxn];
int parent[maxn];
vector<int>res;
bool dfs(int u){
vis[u] = 1;
for(int v : a[u]){
if(!vis[v]){
parent[v] = u;
if(dfs(v)) return true;
}
else if(v != parent[u]){
//x = u, y = v;
ok = 1;
int x = u;
while(x != v){
res.push_back(x);
x = parent[x];
}
res.push_back(v);
return true;
}
}
return false;
}
int main()
{
cin >> t;
while(t--){
cin >> n >> m;
for(int i = 1; i <= n; ++i)
a[i].clear();
memset(vis, 0, sizeof vis);
memset(parent, -1, sizeof parent);
res.clear();
for(int i = 1; i <= m; ++i)
{
int u, v; cin >> u >> v;
a[u].push_back(v);
a[v].push_back(u);
}
for(int i = 1; i <= n; ++i)
sort(a[i].begin(), a[i].end());
ok = 0;
dfs(1);
//cout << x << y;
if(!ok) cout << "NO";
else{
reverse(res.begin(), res.end());
for(int x : res)
cout << x << " ";
cout << 1;
}
cout << "\n";
}
return 0;
}
/*
1
6 9
1 2 1 3 2 3 2 5 3 4 3 5 4 5 4 6 5 6
*/
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgbWF4biAxMDA1CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgdCwgbiwgbSwgb2s7CnZlY3RvcjxpbnQ+YVttYXhuXTsKYm9vbCB2aXNbbWF4bl07CmludCBwYXJlbnRbbWF4bl07Cgp2ZWN0b3I8aW50PnJlczsKYm9vbCBkZnMoaW50IHUpewogICAgdmlzW3VdID0gMTsKICAgIGZvcihpbnQgdiA6IGFbdV0pewogICAgICAgIGlmKCF2aXNbdl0pewogICAgICAgICAgICBwYXJlbnRbdl0gPSB1OwogICAgICAgICAgICBpZihkZnModikpIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmKHYgIT0gcGFyZW50W3VdKXsKICAgICAgICAgICAgLy94ID0gdSwgeSA9IHY7CiAgICAgICAgICAgIG9rID0gMTsKICAgICAgICAgICAgaW50IHggPSB1OwogICAgICAgICAgICB3aGlsZSh4ICE9IHYpewogICAgICAgICAgICAgICAgcmVzLnB1c2hfYmFjayh4KTsKICAgICAgICAgICAgICAgIHggPSBwYXJlbnRbeF07IAogICAgICAgICAgICB9CiAgICAgICAgICAgIHJlcy5wdXNoX2JhY2sodik7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfQppbnQgbWFpbigpCnsKICAgIGNpbiA+PiB0OyAKICAgIHdoaWxlKHQtLSl7CiAgICAgICAgY2luID4+IG4gPj4gbTsgCiAgICAgICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyArK2kpCiAgICAgICAgICAgIGFbaV0uY2xlYXIoKTsgCiAgICAgICAgbWVtc2V0KHZpcywgMCwgc2l6ZW9mIHZpcyk7CiAgICAgICAgbWVtc2V0KHBhcmVudCwgLTEsIHNpemVvZiBwYXJlbnQpOwogICAgICAgIHJlcy5jbGVhcigpOwogICAgICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbTsgKytpKQogICAgICAgIHsKICAgICAgICAgICAgaW50IHUsIHY7IGNpbiA+PiB1ID4+IHY7IAogICAgICAgICAgICBhW3VdLnB1c2hfYmFjayh2KTsKICAgICAgICAgICAgYVt2XS5wdXNoX2JhY2sodSk7CiAgICAgICAgfQogICAgICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgKytpKQogICAgICAgICAgICBzb3J0KGFbaV0uYmVnaW4oKSwgYVtpXS5lbmQoKSk7CiAgICAgICAgb2sgPSAwOwogICAgICAgIGRmcygxKTsKICAgICAgICAvL2NvdXQgPDwgeCA8PCB5OyAKICAgICAgICBpZighb2spIGNvdXQgPDwgIk5PIjsgCiAgICAgICAgZWxzZXsKICAgICAgICAgICAgcmV2ZXJzZShyZXMuYmVnaW4oKSwgcmVzLmVuZCgpKTsgCiAgICAgICAgICAgIGZvcihpbnQgeCA6IHJlcykKICAgICAgICAgICAgICAgIGNvdXQgPDwgeCA8PCAiICI7CiAgICAgICAgICAgIGNvdXQgPDwgMTsKICAgICAgICB9CiAgICAgICAgY291dCA8PCAiXG4iOwogICAgfQogICAgcmV0dXJuIDA7Cn0KLyoKMQo2IDkKMSAyIDEgMyAyIDMgMiA1IDMgNCAzIDUgNCA1IDQgNiA1IDYKKi8=