#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define mod 1000000007
int n, m, s;
vector<int> a[100005];
int visited[100005];
pair<int, int> cnt[100005];
void bfs( int u){
queue<int> q;
q.push(u); visited[u] = true;
cnt[u].first = 0;
while( !q.empty()){
int x = q.front(); q.pop();
for( int v : a[x]){
if( !visited[v]){
q.push(v); visited[v] = true;
cnt[v].first = cnt[x].first + 1;
}
}
}
}
void inp(){
cin >> n >> m >> s;
int u, v;
while( m--){
cin >> u >> v;
a[u].push_back(v);
a[v].push_back(u);
}
for( int i = 1; i <= 100000; i++){
cnt[i].second = i;
}
bfs(s);
sort( cnt + 1, cnt + n + 1);
cout << s << " " << "0" << "\n";
for( int i = 1; i <= n; i++){
if( cnt[i].first != 0){
cout << cnt[i].second << " " << cnt[i].first << "\n";
}
}
}
int main() {
ios_base::sync_with_stdio(false);cin.tie(NULL);
// freopen("a.inp", "r", stdin);
// freopen("a.out", "w", stdout);
inp();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIG1vZCAxMDAwMDAwMDA3CgppbnQgbiwgbSwgczsKdmVjdG9yPGludD4gYVsxMDAwMDVdOwppbnQgdmlzaXRlZFsxMDAwMDVdOwpwYWlyPGludCwgaW50PiBjbnRbMTAwMDA1XTsKCnZvaWQgYmZzKCBpbnQgdSl7CiAgICBxdWV1ZTxpbnQ+IHE7CiAgICBxLnB1c2godSk7IHZpc2l0ZWRbdV0gPSB0cnVlOwogICAgY250W3VdLmZpcnN0ID0gMDsKICAgIHdoaWxlKCAhcS5lbXB0eSgpKXsKICAgICAgICBpbnQgeCA9IHEuZnJvbnQoKTsgcS5wb3AoKTsgCiAgICAgICAgZm9yKCBpbnQgdiA6IGFbeF0pewogICAgICAgICAgICBpZiggIXZpc2l0ZWRbdl0pewogICAgICAgICAgICAgICAgcS5wdXNoKHYpOyAgdmlzaXRlZFt2XSA9IHRydWU7CiAgICAgICAgICAgICAgICBjbnRbdl0uZmlyc3QgPSBjbnRbeF0uZmlyc3QgKyAxOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cgp2b2lkIGlucCgpewogICAgY2luID4+IG4gPj4gbSA+PiBzOwogICAgaW50IHUsIHY7CiAgICB3aGlsZSggbS0tKXsKICAgICAgICBjaW4gPj4gdSA+PiB2OwogICAgICAgIGFbdV0ucHVzaF9iYWNrKHYpOwogICAgICAgIGFbdl0ucHVzaF9iYWNrKHUpOwogICAgfQoKICAgIGZvciggaW50IGkgPSAxOyBpIDw9IDEwMDAwMDsgaSsrKXsKICAgICAgICBjbnRbaV0uc2Vjb25kID0gaTsKICAgIH0KCiAgICBiZnMocyk7CgogICAgc29ydCggY250ICsgMSwgY250ICsgbiArIDEpOwogICAgY291dCA8PCBzIDw8ICIgIiA8PCAiMCIgPDwgIlxuIjsKICAgIGZvciggaW50IGkgPSAxOyBpIDw9IG47IGkrKyl7CiAgICAgICAgaWYoIGNudFtpXS5maXJzdCAhPSAwKXsKICAgICAgICAgICAgY291dCA8PCBjbnRbaV0uc2Vjb25kIDw8ICIgIiA8PCBjbnRbaV0uZmlyc3QgPDwgIlxuIjsKICAgICAgICB9CiAgICB9Cgp9CgppbnQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpO2Npbi50aWUoTlVMTCk7CiAgICAvLyBmcmVvcGVuKCJhLmlucCIsICJyIiwgc3RkaW4pOwogICAgLy8gZnJlb3BlbigiYS5vdXQiLCAidyIsIHN0ZG91dCk7CiAgICBpbnAoKTsKICAgIHJldHVybiAwOwp9