import java.util.*;
import java.io.*;
class Main {
public static void main
(String[] args
) { Scanner sc
= new Scanner
(System.
in); int t = sc.nextInt();
while (t-- > 0) {
int n = sc.nextInt();
int e = sc.nextInt();
List<List<Integer>> adj=new ArrayList<>();
for(int i=0;i<=n;i++)
adj.add(new ArrayList<>());
for (int k = 0; k < e; k++) {
int u = sc.nextInt();
int v = sc.nextInt();
adj.get(u).add(v);
adj.get(v).add(u);
}
int visited[]=new int[n+1];
int level[]=new int[n+1];
Queue<Integer> q=new LinkedList<>();
q.add(1);
visited[1]=1;
level[1]=0;
while(!q.isEmpty())
{
int temp=q.poll();
for(int neighbour:adj.get(temp))
{
if(visited[neighbour]==0)
{
q.add(neighbour);
visited[neighbour]=1;
level[neighbour]=level[temp]+1;
}
}
}
for(int i=1;i<=n;i++)
System.
out.
println(i
+" "+level
[i
]);
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5pby4qOwoKY2xhc3MgTWFpbiB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgU2Nhbm5lciBzYyA9IG5ldyBTY2FubmVyKFN5c3RlbS5pbik7CiAgICAgICAgaW50IHQgPSBzYy5uZXh0SW50KCk7CiAgICAgICAgCiAgICAgICAgd2hpbGUgKHQtLSA+IDApIHsKICAgICAgICAgICAgaW50IG4gPSBzYy5uZXh0SW50KCk7CiAgICAgICAgICAgIGludCBlID0gc2MubmV4dEludCgpOwogICAgICAgICAgICAKICAgICAgICAgICAgTGlzdDxMaXN0PEludGVnZXI+PiBhZGo9bmV3IEFycmF5TGlzdDw+KCk7CiAgICAgICAgICAgIGZvcihpbnQgaT0wO2k8PW47aSsrKQogICAgICAgICAgICBhZGouYWRkKG5ldyBBcnJheUxpc3Q8PigpKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICBmb3IgKGludCBrID0gMDsgayA8IGU7IGsrKykgewogICAgICAgICAgICAgICAgaW50IHUgPSBzYy5uZXh0SW50KCk7CiAgICAgICAgICAgICAgICBpbnQgdiA9IHNjLm5leHRJbnQoKTsKICAgICAgICAgICAgICAgIGFkai5nZXQodSkuYWRkKHYpOwogICAgICAgICAgICAgICAgYWRqLmdldCh2KS5hZGQodSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIGludCB2aXNpdGVkW109bmV3IGludFtuKzFdOwogICAgICAgICAgICBpbnQgbGV2ZWxbXT1uZXcgaW50W24rMV07CiAgICAgICAgICAgIFF1ZXVlPEludGVnZXI+IHE9bmV3IExpbmtlZExpc3Q8PigpOwogICAgICAgICAgICAKICAgICAgICAgICAgcS5hZGQoMSk7CiAgICAgICAgICAgIHZpc2l0ZWRbMV09MTsKICAgICAgICAgICAgbGV2ZWxbMV09MDsKICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICB3aGlsZSghcS5pc0VtcHR5KCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgCWludCB0ZW1wPXEucG9sbCgpOwogICAgICAgICAgICAJU3lzdGVtLm91dC5wcmludCh0ZW1wKyIgIik7CiAgICAgICAgICAgIAlmb3IoaW50IG5laWdoYm91cjphZGouZ2V0KHRlbXApKQogICAgICAgICAgICAJewogICAgICAgICAgICAJCWlmKHZpc2l0ZWRbbmVpZ2hib3VyXT09MCkKICAgICAgICAgICAgCQl7CiAgICAgICAgICAgIAkJCXEuYWRkKG5laWdoYm91cik7CiAgICAgICAgICAgIAkJCXZpc2l0ZWRbbmVpZ2hib3VyXT0xOwogICAgICAgICAgICAJCQlsZXZlbFtuZWlnaGJvdXJdPWxldmVsW3RlbXBdKzE7CiAgICAgICAgICAgIAkJfQogICAgICAgICAgICAJfQogICAgICAgICAgICAJCiAgICAgICAgICAgIH0KICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCk7CiAgICAgICAgICAgIAogICAgICAgICAgICBmb3IoaW50IGk9MTtpPD1uO2krKykKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKGkrIiAiK2xldmVsW2ldKTsKICAgICAgICAgICAgCiAgICAgICAgfQogICAgfQp9