#include <bits/stdc++.h>
using namespace std;

int main() {
	int n, m;
	cin>>n>>m;
	vector<int> adjList[n];
	for(int i=0;i<m;i++){
		int x,y;
		cin>>x>>y;
		adjList[x].push_back(y);
		adjList[y].push_back(x);
	}
	
	int source=1;
	vector<int> visited(n, 0);
	vector<int> level(n, 0);
	queue<int> q;
	q.push(source);
	visited[source]=1;
	while(!q.empty()){
		int node=q.front();
		cout<<node<<" "<<level[node]<<"\n";
		q.pop();
		visited[node]=1;
		for(auto adjNode : adjList[node]){
			if(!visited[adjNode]){
				q.push(adjNode);
				visited[adjNode]=1;
				level[adjNode]=level[node]+1;
			}
		}
	}
	return 0;
}