import java.util.*;
import java.io.*;
class KingdomUnity
{
static ArrayList<ArrayList<Integer>> map = new ArrayList<ArrayList<Integer>>();
static int parent[]=new int[3051];
static int visited[]=new int[3051];
static int disc[]=new int[3051];
static int low[]=new int[3051];
static int ap[]=new int[3051];
static int time=0;
{
int T
= Integer.
parseInt(input.
readLine()); StringBuilder op = new StringBuilder();
for(int i=0;i<=3000;i++)
map.add(new ArrayList<Integer>());
while(T-->0)
{
//Resetting everything!
inLine = input.readLine().split(" ");
int N
= Integer.
parseInt(inLine
[0]); int M
= Integer.
parseInt(inLine
[1]); int K
= Integer.
parseInt(inLine
[2]); for(int i=0;i<N;i++)
map.get(i).clear();
//Inputting Graph
for(int i=0;i<M;i++)
{
inLine = input.readLine().split(" ");
int u
= Integer.
parseInt(inLine
[0]); int v
= Integer.
parseInt(inLine
[1]); map.get(u).add(v);
map.get(v).add(u);
}
time=0;int ans=0;//Reset variable ans and time
dfs(0);
for(int i=0;i<N;i++)
if(ap[i]==1)ans++;
ans*=K;
op.append(ans).append("\n");
}
input.close();
}
static void dfs (int u)
{
int children=0;
visited[u]=1;
disc[u]=low[u]=++time;
int sz = map.get(u).size();
for(int i=0;i<sz;i++)
{
int v = map.get(u).get(i);
if(visited[v]==-1)
{
children++;
parent[v]=u;
dfs(v);
// Check if the subtree rooted with v has a connection to one of the ancestors of u
low
[u
] = Math.
min(low
[u
], low
[v
]); // u is an articulation point in following cases
// (1) u is root of DFS tree and has two or more chilren.
if (parent[u] == -1 && children > 1)
ap[u]=1;
// (2) If u is not root and low value of one of its child is more
// than discovery value of u.
if (parent[u] != -1 && low[v] >= disc[u])
ap[u] = 1;
}
else if (v != parent[u])
low
[u
] = Math.
min(low
[u
], disc
[v
]); }
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5pby4qOwpjbGFzcyBLaW5nZG9tVW5pdHkKeyAKICAgIHN0YXRpYyBBcnJheUxpc3Q8QXJyYXlMaXN0PEludGVnZXI+PiBtYXAgPSBuZXcgQXJyYXlMaXN0PEFycmF5TGlzdDxJbnRlZ2VyPj4oKTsKICAgIHN0YXRpYyBpbnQgcGFyZW50W109bmV3IGludFszMDUxXTsKICAgIHN0YXRpYyBpbnQgdmlzaXRlZFtdPW5ldyBpbnRbMzA1MV07CiAgICBzdGF0aWMgaW50IGRpc2NbXT1uZXcgaW50WzMwNTFdOwogICAgc3RhdGljIGludCBsb3dbXT1uZXcgaW50WzMwNTFdOwogICAgc3RhdGljIGludCBhcFtdPW5ldyBpbnRbMzA1MV07CiAgICBzdGF0aWMgaW50IHRpbWU9MDsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdYXJncyl0aHJvd3MgSU9FeGNlcHRpb24KICAgIHsKICAgICAgICBCdWZmZXJlZFJlYWRlciBpbnB1dCA9IG5ldyBCdWZmZXJlZFJlYWRlcihuZXcgSW5wdXRTdHJlYW1SZWFkZXIoU3lzdGVtLmluKSk7CiAgICAgICAgaW50IFQgPSBJbnRlZ2VyLnBhcnNlSW50KGlucHV0LnJlYWRMaW5lKCkpOyAgICAgIAogICAgICAgIFN0cmluZ0J1aWxkZXIgb3AgPSBuZXcgU3RyaW5nQnVpbGRlcigpOwogICAgICAgIGZvcihpbnQgaT0wO2k8PTMwMDA7aSsrKQogICAgICAgICAgICBtYXAuYWRkKG5ldyBBcnJheUxpc3Q8SW50ZWdlcj4oKSk7CiAgICAgICAgU3RyaW5nW10gaW5MaW5lOwogICAgICAgIHdoaWxlKFQtLT4wKQogICAgICAgIHsKICAgICAgICAgICAgLy9SZXNldHRpbmcgZXZlcnl0aGluZyEKICAgICAgICAgICAgQXJyYXlzLmZpbGwocGFyZW50LC0xKTsKICAgICAgICAgICAgQXJyYXlzLmZpbGwodmlzaXRlZCwtMSk7CiAgICAgICAgICAgIEFycmF5cy5maWxsKGFwLC0xKTsKICAgICAgICAgICAgQXJyYXlzLmZpbGwoZGlzYywwKTsKICAgICAgICAgICAgQXJyYXlzLmZpbGwobG93LDApOwogICAgICAgICAgICBpbkxpbmUgPSBpbnB1dC5yZWFkTGluZSgpLnNwbGl0KCIgIik7CiAgICAgICAgICAgIGludCBOID0gSW50ZWdlci5wYXJzZUludChpbkxpbmVbMF0pOwogICAgICAgICAgICBpbnQgTSA9IEludGVnZXIucGFyc2VJbnQoaW5MaW5lWzFdKTsKICAgICAgICAgICAgaW50IEsgPSBJbnRlZ2VyLnBhcnNlSW50KGluTGluZVsyXSk7IAogICAgICAgICAgICBmb3IoaW50IGk9MDtpPE47aSsrKQogICAgICAgICAgICAgICAgbWFwLmdldChpKS5jbGVhcigpOwogICAgICAgICAgICAvL0lucHV0dGluZyBHcmFwaAogICAgICAgICAgICBmb3IoaW50IGk9MDtpPE07aSsrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpbkxpbmUgPSBpbnB1dC5yZWFkTGluZSgpLnNwbGl0KCIgIik7CiAgICAgICAgICAgICAgICBpbnQgdSA9IEludGVnZXIucGFyc2VJbnQoaW5MaW5lWzBdKTsKICAgICAgICAgICAgICAgIGludCB2ID0gSW50ZWdlci5wYXJzZUludChpbkxpbmVbMV0pOwogICAgICAgICAgICAgICAgbWFwLmdldCh1KS5hZGQodik7CiAgICAgICAgICAgICAgICBtYXAuZ2V0KHYpLmFkZCh1KTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aW1lPTA7aW50IGFucz0wOy8vUmVzZXQgdmFyaWFibGUgYW5zIGFuZCB0aW1lCiAgICAgICAgICAgIGRmcygwKTsKICAgICAgICAgICAgZm9yKGludCBpPTA7aTxOO2krKykKICAgICAgICAgICAgICAgIGlmKGFwW2ldPT0xKWFucysrOwogICAgICAgICAgICBhbnMqPUs7ICAgIAogICAgICAgICAgICBvcC5hcHBlbmQoYW5zKS5hcHBlbmQoIlxuIik7CiAgICAgICAgfQogICAgICAgIGlucHV0LmNsb3NlKCk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKG9wKTsKICAgIH0KIAogICAgc3RhdGljIHZvaWQgZGZzIChpbnQgdSkKICAgIHsKICAgICAgICBpbnQgY2hpbGRyZW49MDsKICAgICAgICB2aXNpdGVkW3VdPTE7CiAgICAgICAgZGlzY1t1XT1sb3dbdV09Kyt0aW1lOwogICAgICAgIGludCBzeiA9IG1hcC5nZXQodSkuc2l6ZSgpOwogICAgICAgIGZvcihpbnQgaT0wO2k8c3o7aSsrKQogICAgICAgIHsKICAgICAgICAgICAgaW50IHYgPSBtYXAuZ2V0KHUpLmdldChpKTsKICAgICAgICAgICAgaWYodmlzaXRlZFt2XT09LTEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGNoaWxkcmVuKys7CiAgICAgICAgICAgICAgICBwYXJlbnRbdl09dTsKICAgICAgICAgICAgICAgIGRmcyh2KTsKICAgICAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoZSBzdWJ0cmVlIHJvb3RlZCB3aXRoIHYgaGFzIGEgY29ubmVjdGlvbiB0byBvbmUgb2YgdGhlIGFuY2VzdG9ycyBvZiB1CiAgICAgICAgICAgICAgICBsb3dbdV0gID0gTWF0aC5taW4obG93W3VdLCBsb3dbdl0pOwogICAgICAgICAgICAgICAgLy8gdSBpcyBhbiBhcnRpY3VsYXRpb24gcG9pbnQgaW4gZm9sbG93aW5nIGNhc2VzCiAgICAgICAgICAgICAgICAvLyAoMSkgdSBpcyByb290IG9mIERGUyB0cmVlIGFuZCBoYXMgdHdvIG9yIG1vcmUgY2hpbHJlbi4KICAgICAgICAgICAgICAgIGlmIChwYXJlbnRbdV0gPT0gLTEgJiYgY2hpbGRyZW4gPiAxKQogICAgICAgICAgICAgICAgICAgIGFwW3VdPTE7CiAgICAgICAgICAgICAgICAvLyAoMikgSWYgdSBpcyBub3Qgcm9vdCBhbmQgbG93IHZhbHVlIG9mIG9uZSBvZiBpdHMgY2hpbGQgaXMgbW9yZQogICAgICAgICAgICAgICAgLy8gdGhhbiBkaXNjb3ZlcnkgdmFsdWUgb2YgdS4KICAgICAgICAgICAgICAgIGlmIChwYXJlbnRbdV0gIT0gLTEgJiYgbG93W3ZdID49IGRpc2NbdV0pCiAgICAgICAgICAgICAgICAgICAgYXBbdV0gPSAxOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYgKHYgIT0gcGFyZW50W3VdKQogICAgICAgICAgICAgICAgbG93W3VdICA9IE1hdGgubWluKGxvd1t1XSwgZGlzY1t2XSk7CiAgICAgICAgfQogICAgfQp9IA==