#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main() {
	
	int n;
	cin>>n;
	int e;
	cin>>e;

	vector<int> g[n+1];

	for(int i=1; i<=e; i++){
		int u,v;
		cin>>u;
		cin>>v;
		g[u].push_back(v);
		g[v].push_back(u);
	}

	int source;
	cin>>source;

	// solution;

	queue<int> q;

	q.push(source);

	vector<int> record (n+1,-1);
	record[source]=0;
	
	while(!q.empty()){
		
		int t = q.front();
		
		q.pop();
		
		for(auto x: g[t]){
			
			if(record[x]<0){
				q.push(x);
				record[x] = record[t]+1;
			}
		}

	}

	for(int i=1; i<=n; i++){
		cout<< record[i]<< " ";
	}

	return 0;
}