#include<cstdio>
#include<vector>
using namespace std;
#define N 100005
vector <int> r[N];
vector <int> q;
int n,m,a,b,h,c[N],x,y;
bool z=true;
int main(){
	scanf("%d%d",&n,&m);
	for(int i=0;i<m;i++){
		scanf("%d%d",&a,&b);
		r[a].push_back(b);
		r[b].push_back(a);
	}
	q.push_back(1);
	c[1]=1;

	for(h;h<q.size();h++){
		x=q[h];
		for(int i=0;i<r[x].size();i++){
			y=r[x][i];
			if(c[y]==0){
				c[y]=x;
				q.push_back(y);
			}
		}	
	}
	
	for(int i=2;i<=n;i++){
		if(c[i]==0){
			z=false;
			break;
		}
	}
	if(z){
		printf("Yes\n");
		for(int i=2;i<=n;i++){
			printf("%d\n",c[i]);
		}
	}else printf("No");
	
	return 0;
}