#include<iostream>
#include<vector>
#include<set>
#define nfs std::ios::sync_with_stdio(false); cin.tie(NULL);
#define pb(e) push_back(e)
#define ff first
#define ss second
#define f front()
#define pii pair<int,int>
#define mk(s,e) make_pair(min(s,e),max(s,e))
#define vii vector<pii>
#define sii set<pii>
#define i(s) insert(s)
using namespace std;
typedef long long int ll;
const ll mod_wala=1e9+7;
const int max_size=2e5+1;
vector<vector<int>> g;
vector<bool> visited;
sii pairs_path;
sii pairs;
int timer=0;
int tin[max_size]{0},low[max_size]{0};
int count=1;
void dfs(int here,int par){
visited[here]=true;
count++;
tin[here]=low[here]=timer++;
for(int child:g[here]){
if(child==par)continue;
if(visited[child]==true){
low[here]=min(low[here],tin[child]);
}else{
dfs(child,here);
pairs_path.insert(mk(here,child));
low[here]=min(low[here],low[child]);
if(low[child]>tin[here]){
if(child==1 || here==1){
pairs.insert(mk(child,here));
}
}
}
}
}
int main(){
nfs;
int n,m,d,x,y;
cin>>n>>m>>d;
g=vector<vector<int>>(n+1);
visited=vector<bool>(n+1,false);
while(m--)cin>>x>>y, g[x].pb(y), g[y].pb(x);
dfs(1,0);
pairs_path.clear();
visited.clear();
visited=vector<bool>(n+1,false);
visited[1]=true;
int max_d=g[1].size();
int min_d=pairs.size();
count=1;
if((d<=max_d && d>min_d) || ((max_d==d) && (min_d==d))){
int diff=d-min_d;
for(pii child:pairs){
if(visited[child.second]!=true){
// cout<<"a";
pairs_path.i(mk(1,child.second));
dfs(child.second,1);
}
}
// cout<<"b";
if(count==n && diff>0){
cout<<"NO\n";
}else if(count==n && diff==0){
cout<<"YES\n";
for(pii here:pairs_path){
cout<<here.ff<<" "<<here.ss<<"\n";
}
}else if(diff>0 && count<n){
int diffhere=diff;
pairs.clear();
vector<int> kids;
for(int child:g[1]){
if(visited[child]!=true && diffhere>0){
diffhere--;
pairs_path.i(mk(1,child));
visited[child]=true;
kids.pb(child);
}
}
for(int child:kids){
dfs(child,1);
}
if(count==n){
cout<<"YES\n";
for(pii here:pairs_path){
cout<<here.ff<<" "<<here.ss<<"\n";
}
}else{
cout<<"NO\n";
}
}
}else{
cout<<"NO\n";
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHZlY3Rvcj4KI2luY2x1ZGU8c2V0PgojZGVmaW5lIG5mcyBzdGQ6Omlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgY2luLnRpZShOVUxMKTsKI2RlZmluZSBwYihlKSBwdXNoX2JhY2soZSkKI2RlZmluZSBmZiBmaXJzdAojZGVmaW5lIHNzIHNlY29uZAojZGVmaW5lIGYgZnJvbnQoKQojZGVmaW5lIHBpaSBwYWlyPGludCxpbnQ+CiNkZWZpbmUgbWsocyxlKSBtYWtlX3BhaXIobWluKHMsZSksbWF4KHMsZSkpCiNkZWZpbmUgdmlpIHZlY3RvcjxwaWk+CiNkZWZpbmUgc2lpIHNldDxwaWk+CiNkZWZpbmUgaShzKSBpbnNlcnQocykKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdHlwZWRlZiBsb25nIGxvbmcgaW50IGxsOwpjb25zdCBsbCBtb2Rfd2FsYT0xZTkrNzsKY29uc3QgaW50IG1heF9zaXplPTJlNSsxOwp2ZWN0b3I8dmVjdG9yPGludD4+IGc7CnZlY3Rvcjxib29sPiB2aXNpdGVkOwpzaWkgcGFpcnNfcGF0aDsKc2lpIHBhaXJzOwppbnQgdGltZXI9MDsKaW50IHRpblttYXhfc2l6ZV17MH0sbG93W21heF9zaXplXXswfTsKaW50IGNvdW50PTE7CnZvaWQgZGZzKGludCBoZXJlLGludCBwYXIpewoJdmlzaXRlZFtoZXJlXT10cnVlOwoJY291bnQrKzsKCXRpbltoZXJlXT1sb3dbaGVyZV09dGltZXIrKzsKCWZvcihpbnQgY2hpbGQ6Z1toZXJlXSl7CgkJaWYoY2hpbGQ9PXBhciljb250aW51ZTsKCQlpZih2aXNpdGVkW2NoaWxkXT09dHJ1ZSl7CgkJCWxvd1toZXJlXT1taW4obG93W2hlcmVdLHRpbltjaGlsZF0pOwoJCX1lbHNlewoJCQlkZnMoY2hpbGQsaGVyZSk7CgkJCXBhaXJzX3BhdGguaW5zZXJ0KG1rKGhlcmUsY2hpbGQpKTsKCQkJbG93W2hlcmVdPW1pbihsb3dbaGVyZV0sbG93W2NoaWxkXSk7CgkJCWlmKGxvd1tjaGlsZF0+dGluW2hlcmVdKXsKCQkJCWlmKGNoaWxkPT0xIHx8IGhlcmU9PTEpewoJCQkJCXBhaXJzLmluc2VydChtayhjaGlsZCxoZXJlKSk7CgkJCQl9CgkJCX0KCQl9Cgl9Cn0KaW50IG1haW4oKXsKCW5mczsKCWludCBuLG0sZCx4LHk7CgljaW4+Pm4+Pm0+PmQ7CglnPXZlY3Rvcjx2ZWN0b3I8aW50Pj4obisxKTsKCXZpc2l0ZWQ9dmVjdG9yPGJvb2w+KG4rMSxmYWxzZSk7Cgl3aGlsZShtLS0pY2luPj54Pj55LCBnW3hdLnBiKHkpLCBnW3ldLnBiKHgpOwoJZGZzKDEsMCk7CglwYWlyc19wYXRoLmNsZWFyKCk7Cgl2aXNpdGVkLmNsZWFyKCk7Cgl2aXNpdGVkPXZlY3Rvcjxib29sPihuKzEsZmFsc2UpOwoJdmlzaXRlZFsxXT10cnVlOwoJaW50IG1heF9kPWdbMV0uc2l6ZSgpOwoJaW50IG1pbl9kPXBhaXJzLnNpemUoKTsKCWNvdW50PTE7CglpZigoZDw9bWF4X2QgJiYgZD5taW5fZCkgfHwgKChtYXhfZD09ZCkgJiYgKG1pbl9kPT1kKSkpewoJCWludCBkaWZmPWQtbWluX2Q7CgkJZm9yKHBpaSBjaGlsZDpwYWlycyl7CgkJCWlmKHZpc2l0ZWRbY2hpbGQuc2Vjb25kXSE9dHJ1ZSl7CgkJCQkvLyBjb3V0PDwiYSI7CgkJCQlwYWlyc19wYXRoLmkobWsoMSxjaGlsZC5zZWNvbmQpKTsKCQkJCWRmcyhjaGlsZC5zZWNvbmQsMSk7CgkJCX0KCQl9CgkJLy8gY291dDw8ImIiOwoJCWlmKGNvdW50PT1uICYmIGRpZmY+MCl7CgkJCWNvdXQ8PCJOT1xuIjsKCQl9ZWxzZSBpZihjb3VudD09biAmJiBkaWZmPT0wKXsKCQkJY291dDw8IllFU1xuIjsKCQkJZm9yKHBpaSBoZXJlOnBhaXJzX3BhdGgpewoJCQkJY291dDw8aGVyZS5mZjw8IiAiPDxoZXJlLnNzPDwiXG4iOwoJCQl9CgkJfWVsc2UgaWYoZGlmZj4wICYmIGNvdW50PG4pewoJCQlpbnQgZGlmZmhlcmU9ZGlmZjsKCQkJcGFpcnMuY2xlYXIoKTsKCQkJdmVjdG9yPGludD4ga2lkczsKCQkJZm9yKGludCBjaGlsZDpnWzFdKXsKCQkJCWlmKHZpc2l0ZWRbY2hpbGRdIT10cnVlICYmIGRpZmZoZXJlPjApewoJCQkJCWRpZmZoZXJlLS07CgkJCQkJcGFpcnNfcGF0aC5pKG1rKDEsY2hpbGQpKTsKCQkJCQl2aXNpdGVkW2NoaWxkXT10cnVlOwoJCQkJCWtpZHMucGIoY2hpbGQpOwoJCQkJfQoJCQl9CgkJCWZvcihpbnQgY2hpbGQ6a2lkcyl7CgkJCQlkZnMoY2hpbGQsMSk7CgkJCX0KCQkJaWYoY291bnQ9PW4pewoJCQkJY291dDw8IllFU1xuIjsKCQkJCWZvcihwaWkgaGVyZTpwYWlyc19wYXRoKXsKCQkJCQljb3V0PDxoZXJlLmZmPDwiICI8PGhlcmUuc3M8PCJcbiI7CgkJCQl9CgkJCX1lbHNlewoJCQkJY291dDw8Ik5PXG4iOwoJCQl9CgkJfQoJfWVsc2V7CgkJY291dDw8Ik5PXG4iOwoJfQoJcmV0dXJuIDA7Cn0g