import java.util.*;
import java.io.*;
class Main
{
public static void dfs(int src, List<List<Integer>> adj, int visited[], int parent[] )
{
visited[src]=1;
// parent[src]=0;
for(int neighbour: adj.get(src))
{
if(visited[neighbour]==0)
{
parent[neighbour]=src;
dfs(neighbour, adj,visited,parent);
}
}
}
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];
int ways[]=new int[n+1];
int parent[]=new int[n+1];
// parent[source]=0;
int source =sc.nextInt();
dfs(source,adj,visited,parent);
for(int i=1;i<=n;i++)
System.
out.
println(i
+" "+parent
[i
]);
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5pby4qOwoKY2xhc3MgTWFpbiAKewoJCglwdWJsaWMgc3RhdGljIHZvaWQgZGZzKGludCBzcmMsIExpc3Q8TGlzdDxJbnRlZ2VyPj4gYWRqLCBpbnQgdmlzaXRlZFtdLCBpbnQgcGFyZW50W10gKQoJewoJCXZpc2l0ZWRbc3JjXT0xOwoJCS8vIHBhcmVudFtzcmNdPTA7CgkJCgkJCVN5c3RlbS5vdXQucHJpbnQoc3JjKyIgIik7CgkJZm9yKGludCBuZWlnaGJvdXI6IGFkai5nZXQoc3JjKSkKCQl7CgkJCWlmKHZpc2l0ZWRbbmVpZ2hib3VyXT09MCkKCQkJewoJCQkJcGFyZW50W25laWdoYm91cl09c3JjOwoJCQkJZGZzKG5laWdoYm91ciwgYWRqLHZpc2l0ZWQscGFyZW50KTsKCQkJfQoJCX0KCQoJfQogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgCiAgICB7CiAgICAgICAgU2Nhbm5lciBzYyA9IG5ldyBTY2FubmVyKFN5c3RlbS5pbik7CiAgICAgICAgaW50IHQgPSBzYy5uZXh0SW50KCk7CiAgICAgICAgCiAgICAgICAgd2hpbGUgKHQtLSA+IDApIHsKICAgICAgICAgICAgaW50IG4gPSBzYy5uZXh0SW50KCk7CiAgICAgICAgICAgIGludCBlID0gc2MubmV4dEludCgpOwogICAgICAgICAgICAKICAgICAgICAgICAgTGlzdDxMaXN0PEludGVnZXI+PiBhZGo9bmV3IEFycmF5TGlzdDw+KCk7CiAgICAgICAgICAgIGZvcihpbnQgaT0wO2k8PW47aSsrKQogICAgICAgICAgICBhZGouYWRkKG5ldyBBcnJheUxpc3Q8PigpKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICBmb3IgKGludCBrID0gMDsgayA8IGU7IGsrKykgewogICAgICAgICAgICAgICAgaW50IHUgPSBzYy5uZXh0SW50KCk7CiAgICAgICAgICAgICAgICBpbnQgdiA9IHNjLm5leHRJbnQoKTsKICAgICAgICAgICAgICAgIGFkai5nZXQodSkuYWRkKHYpOwogICAgICAgICAgICAgICAgYWRqLmdldCh2KS5hZGQodSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIGludCB2aXNpdGVkW109bmV3IGludFtuKzFdOwogICAgICAgICAgICBpbnQgbGV2ZWxbXT1uZXcgaW50W24rMV07CiAgICAgICAgICAgIGludCB3YXlzW109bmV3IGludFtuKzFdOwogICAgICAgICAgICBpbnQgcGFyZW50W109bmV3IGludFtuKzFdOwogICAgICAgICAgICAvLyBwYXJlbnRbc291cmNlXT0wOwogICAgICAgICAgICAgIAogICAgICAgICAgICAgIGludCBzb3VyY2UgPXNjLm5leHRJbnQoKTsKICAgICAgICAgICAgICBkZnMoc291cmNlLGFkaix2aXNpdGVkLHBhcmVudCk7CiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgCVN5c3RlbS5vdXQucHJpbnRsbigpOwoJCQkKICAgICAgICAgICAgICBmb3IoaW50IGk9MTtpPD1uO2krKykKICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oaSsiICIrcGFyZW50W2ldKTsKICAgICAgICAgICAgCiAgICAgICAgICAgCiAgICB9Cn0KfQ==