#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>

typedef struct t_queue{
	int size, head, tail;
	int *datavec;
} Queue;

Queue *initQueue(int);
void freeQueue(Queue*);
int queueLength(Queue*);
void enqueue(Queue*, int);
int dequeue(Queue*);
//void printQueue(Queue*);
void errorQueue();

Queue *initQueue(int size){
	Queue *q = (Queue*)malloc(sizeof(Queue));
	if(q == NULL) errorQueue();

	q->size = size;
	q->datavec = (int*)malloc(sizeof(int) * (size+1));
	if(q->datavec == NULL) errorQueue();
	q->head = q->tail = 0;
	return q;
}

void freeQueue(Queue *q){
	free(q->datavec);
	free(q);
}

int queueLength(Queue *q){
	// mod((head-tail) % (size+1))
	return (q->size+1+q->head-q->tail) % (q->size+1);
}

void enqueue(Queue *q, int data){
	q->datavec[q->head] = data;
	q->head++;
	q->head %= (q->size+1);
}

int dequeue(Queue *q){
	int ret = q->datavec[q->tail];
	q->tail++;
	q->tail %= (q->size+1);
	return ret;
}
/**
void printQueue(Queue *q){
	putc('[', stdout);
	if(q->head != q->tail){
		printf("%d", q->datavec[(q->head+q->size) % (q->size+1)]);
		for(int i=(q->head+q->size) % (q->size+1); i!=q->tail; i=(q->size+i) % (q->size+1)){
			printf(", %d", q->datavec[(i+q->size) % (q->size+1)]);
		}
	}
	printf("]\n");
}
**/
void errorQueue(){
	fprintf(stderr, " %s(%d)", strerror(errno), errno);
	exit(1);
}

int main(){
	int n, m;
	scanf("%d %d",&n, &m);
	int a[m], b[m], dep[n+1], sign[n+1], graph[n+1][n+1], glen[n+1];
	for(int i=0; i<n+1; i++){
		dep[i]=glen[i]=0;
		for(int j=0; j<n+1; j++) graph[i][j]=0;
	}
	for(int i=0; i<m; i++){
		scanf("%d %d",&a[i], &b[i]);
		graph[a[i]][glen[a[i]]] = b[i];
		glen[a[i]]++;
		graph[b[i]][glen[b[i]]] = a[i];
		glen[b[i]]++;
	}
	
	Queue *q = initQueue(n+100);
	enqueue(q, 1);
	do{
		int t = dequeue(q);
		for(int i=0; i<glen[t]; i++){
			int u = graph[t][i];
			if(dep[u]==0){
				dep[u]=1;
				sign[u] = t;
				enqueue(q,u);
			}
		}
	}while(queueLength(q)!=0);
	
	printf("Yes\n");
	for(int i=2; i<n+1; i++){
		printf("%d\n", sign[i]);
	}
	return 0;
}