#include <bits/stdc++.h>
using namespace std;
#define faster ios_base::sync_with_stdio(false); cin.tie(NULL)
#define Bit(mask , i) ((mask >> i) & 1)
#define fi first
#define se second
#define _LOG2(nl) 31 - __builtin_clz(nl)
#define c_bit(nl) __builtin_popcount(nl)
#define ii pair<long long , int>
#define lll pair<long long , pair<long long , long long>>
#define lii pair<long long , pair<int , int>>
#define iii pair<long long , pair<int , int>>
#define iiii pair<pair<long long , int> , pair<int , int>>
#define llll pair<pair<__int128 , __int128> , pair<__int128 , __int128>>
#define li pair<long long , int>
#define db long double
#define onBit(mask , i) (mask | (1 << i))
#define offBit(mask , i) (mask & (~(1 << i)))
const int INF = 1e7;
const long long MOD = 1e9 + 7;
const int N = 3e5 + 7;
int n , m , K;
int f[N];
long long pre[N] , L[N] , R[N];
vector<int> a[N];
struct gv{
int val , id;
};
gv E[N];
bool cmp(gv x , gv y){
return x.val < y.val;
}
void bfs(){
memset(f , -1 , sizeof f);
queue<int> q;
f[1] = 0;
q.push(1);
while(q.size()){
int u = q.front();
q.pop();
for (int v : a[u]) if (f[v] == -1){
f[v] = f[u] + 1;
q.push(v);
}
}
}
void inp(){
cin >> n >> m >> K;
for (int i = 1 ; i <= m ; ++i){
int u , v;
cin >> u >> v;
a[u].push_back(v);
a[v].push_back(u);
}
bfs();
for (int i = 1 ; i <= n ; ++i){
E[i].val = f[i];
E[i].id = i;
}
sort(E + 1 , E + n + 1 , cmp);
for (int i = 1 ; i <= n ; ++i){
pre[i] = pre[i - 1] + E[i].val;
}
}
bool check(db T){
int l = 1 , r = n , mid , pos = 0;
while (l <= r){
mid = (l + r) >> 1;
if ((db)E[mid].val <= T){
pos = mid;
l = mid + 1;
}
else r = mid - 1;
}
return (T * (db)pos - (db)pre[pos] >= (db)K * (db)n);
}
void solve(){
db l = 0 , r = 1e12 , mid , res = 0;
while (r - l >= 0.000000001){
mid = (l + r) / 2.0;
if (check(mid)){
res = mid;
r = mid;
}
else l = mid;
}
long long num = 0 , den = 0;
for (int i = 2 ; i <= n ; ++i){
if ((db)E[i].val > res && !den){
num = (1LL * K) * (1LL * n) + pre[i - 1];
den = i - 1;
}
if (!den){
L[E[i].id] = E[i].val;
R[E[i].id] = 1;
}
else{
L[E[i].id] = num;
R[E[i].id] = den;
}
}
for (int i = 2 ; i <= n ; ++i){
cout << L[i] << " " << R[i] << '\n';
}
}
int main(){
// freopen("difmax.inp" , "r" , stdin);
// freopen("difmax.out" , "w" , stdout);
faster;
inp();
solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgZmFzdGVyIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyBjaW4udGllKE5VTEwpCiNkZWZpbmUgQml0KG1hc2sgLCBpKSAoKG1hc2sgPj4gaSkgJiAxKQojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgX0xPRzIobmwpIDMxIC0gX19idWlsdGluX2NseihubCkKI2RlZmluZSBjX2JpdChubCkgX19idWlsdGluX3BvcGNvdW50KG5sKQojZGVmaW5lIGlpIHBhaXI8bG9uZyBsb25nICwgaW50PgojZGVmaW5lIGxsbCBwYWlyPGxvbmcgbG9uZyAsIHBhaXI8bG9uZyBsb25nICwgbG9uZyBsb25nPj4KI2RlZmluZSBsaWkgcGFpcjxsb25nIGxvbmcgLCBwYWlyPGludCAsIGludD4+CiNkZWZpbmUgaWlpIHBhaXI8bG9uZyBsb25nICwgcGFpcjxpbnQgLCBpbnQ+PgojZGVmaW5lIGlpaWkgcGFpcjxwYWlyPGxvbmcgbG9uZyAsIGludD4gLCBwYWlyPGludCAsIGludD4+CiNkZWZpbmUgbGxsbCBwYWlyPHBhaXI8X19pbnQxMjggLCBfX2ludDEyOD4gLCBwYWlyPF9faW50MTI4ICwgX19pbnQxMjg+PgojZGVmaW5lIGxpIHBhaXI8bG9uZyBsb25nICwgaW50PgojZGVmaW5lIGRiIGxvbmcgZG91YmxlCiNkZWZpbmUgb25CaXQobWFzayAsIGkpIChtYXNrIHwgKDEgPDwgaSkpCiNkZWZpbmUgb2ZmQml0KG1hc2sgLCBpKSAobWFzayAmICh+KDEgPDwgaSkpKQpjb25zdCBpbnQgSU5GID0gMWU3Owpjb25zdCBsb25nIGxvbmcgTU9EID0gMWU5ICsgNzsKY29uc3QgaW50IE4gPSAzZTUgKyA3OwppbnQgbiAsIG0gLCBLOwppbnQgZltOXTsKbG9uZyBsb25nIHByZVtOXSAsIExbTl0gLCBSW05dOwp2ZWN0b3I8aW50PiBhW05dOwoKc3RydWN0IGd2ewogICAgaW50IHZhbCAsIGlkOwp9OwoKZ3YgRVtOXTsKCmJvb2wgY21wKGd2IHggLCBndiB5KXsKICAgIHJldHVybiB4LnZhbCA8IHkudmFsOwp9Cgp2b2lkIGJmcygpewogICAgbWVtc2V0KGYgLCAtMSAsIHNpemVvZiBmKTsKICAgIHF1ZXVlPGludD4gcTsKICAgIGZbMV0gPSAwOwogICAgcS5wdXNoKDEpOwoKICAgIHdoaWxlKHEuc2l6ZSgpKXsKICAgICAgICBpbnQgdSA9IHEuZnJvbnQoKTsKICAgICAgICBxLnBvcCgpOwoKICAgICAgICBmb3IgKGludCB2IDogYVt1XSkgaWYgKGZbdl0gPT0gLTEpewogICAgICAgICAgICBmW3ZdID0gZlt1XSArIDE7CiAgICAgICAgICAgIHEucHVzaCh2KTsKICAgICAgICB9CiAgICB9Cn0KCnZvaWQgaW5wKCl7CiAgICBjaW4gPj4gbiA+PiBtID4+IEs7CiAgICBmb3IgKGludCBpID0gMSA7IGkgPD0gbSA7ICsraSl7CiAgICAgICAgaW50IHUgLCB2OwogICAgICAgIGNpbiA+PiB1ID4+IHY7CiAgICAgICAgYVt1XS5wdXNoX2JhY2sodik7CiAgICAgICAgYVt2XS5wdXNoX2JhY2sodSk7CiAgICB9CgogICAgYmZzKCk7CiAgICBmb3IgKGludCBpID0gMSA7IGkgPD0gbiA7ICsraSl7CiAgICAgICAgRVtpXS52YWwgPSBmW2ldOwogICAgICAgIEVbaV0uaWQgPSBpOwogICAgfQogICAgc29ydChFICsgMSAsIEUgKyBuICsgMSAsIGNtcCk7CiAgICBmb3IgKGludCBpID0gMSA7IGkgPD0gbiA7ICsraSl7CiAgICAgICAgcHJlW2ldID0gcHJlW2kgLSAxXSArIEVbaV0udmFsOwogICAgfQp9Cgpib29sIGNoZWNrKGRiIFQpewogICAgaW50IGwgPSAxICwgciA9IG4gLCBtaWQgLCBwb3MgPSAwOwogICAgd2hpbGUgKGwgPD0gcil7CiAgICAgICAgbWlkID0gKGwgKyByKSA+PiAxOwogICAgICAgIGlmICgoZGIpRVttaWRdLnZhbCA8PSBUKXsKICAgICAgICAgICAgcG9zID0gbWlkOwogICAgICAgICAgICBsID0gbWlkICsgMTsKICAgICAgICB9CiAgICAgICAgZWxzZSByID0gbWlkIC0gMTsKICAgIH0KCiAgICByZXR1cm4gKFQgKiAoZGIpcG9zIC0gKGRiKXByZVtwb3NdID49IChkYilLICogKGRiKW4pOwp9Cgp2b2lkIHNvbHZlKCl7CiAgICBkYiBsID0gMCAsIHIgPSAxZTEyICwgbWlkICwgcmVzID0gMDsKICAgIHdoaWxlIChyIC0gbCA+PSAwLjAwMDAwMDAwMSl7CiAgICAgICAgbWlkID0gKGwgKyByKSAvIDIuMDsKICAgICAgICBpZiAoY2hlY2sobWlkKSl7CiAgICAgICAgICAgIHJlcyA9IG1pZDsKICAgICAgICAgICAgciA9IG1pZDsKICAgICAgICB9CiAgICAgICAgZWxzZSBsID0gbWlkOwogICAgfQoKICAgIGxvbmcgbG9uZyBudW0gPSAwICwgZGVuID0gMDsKICAgIGZvciAoaW50IGkgPSAyIDsgaSA8PSBuIDsgKytpKXsKICAgICAgICBpZiAoKGRiKUVbaV0udmFsID4gcmVzICYmICFkZW4pewogICAgICAgICAgICBudW0gPSAoMUxMICogSykgKiAoMUxMICogbikgKyBwcmVbaSAtIDFdOwogICAgICAgICAgICBkZW4gPSBpIC0gMTsKICAgICAgICB9CgogICAgICAgIGlmICghZGVuKXsKICAgICAgICAgICAgTFtFW2ldLmlkXSA9IEVbaV0udmFsOwogICAgICAgICAgICBSW0VbaV0uaWRdID0gMTsKICAgICAgICB9CiAgICAgICAgZWxzZXsKICAgICAgICAgICAgTFtFW2ldLmlkXSA9IG51bTsKICAgICAgICAgICAgUltFW2ldLmlkXSA9IGRlbjsKICAgICAgICB9CiAgICB9CgogICAgZm9yIChpbnQgaSA9IDIgOyBpIDw9IG4gOyArK2kpewogICAgICAgIGNvdXQgPDwgTFtpXSA8PCAiICIgPDwgUltpXSA8PCAnXG4nOwogICAgfQp9CgppbnQgbWFpbigpewovLyAgICBmcmVvcGVuKCJkaWZtYXguaW5wIiAsICJyIiAsIHN0ZGluKTsKLy8gICAgZnJlb3BlbigiZGlmbWF4Lm91dCIgLCAidyIgLCBzdGRvdXQpOwogICAgZmFzdGVyOwogICAgaW5wKCk7CiAgICBzb2x2ZSgpOwogICAgcmV0dXJuIDA7Cn0K