#include<bits/stdc++.h>
using namespace std;
int n,m,f[233333],vis[233333];
vector<int>v[233333];
queue<int>q;
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=m;i++){
		int x,y;
		scanf("%d%d",&x,&y);
		v[x].push_back(y);
		v[y].push_back(x);
	}
	q.push(1);vis[1]=1;
	while(!q.empty()){
		int t=q.front();q.pop();
		for(int i=0;i<v[t].size();i++){
			int x=v[t][i];
			if(vis[x])continue;
			f[x]=t;
			vis[x]=1;
			q.push(x);
		}
	}
	int flg=1;
	for(int i=1;i<=n;i++)flg&=vis[i];
	if(flg){
		puts("Yes");
	    for(int i=2;i<=n;i++)printf("%d\n",f[i]);
	}else puts("No");
}