#include <bits/stdc++.h>
using namespace std;
#define max 100001
#define llu long long int
#define sl(a) scanf("%lld",&a)
vector<llu>graph[max];
bool visited[max];
llu cnt=0;
void dfs(llu s )
{ stack<llu>S;
S.push(s);
visited[s] = true;
while(!S.empty()){
llu v=S.top();
S.pop();
for(llu i=0;i<graph[v].size();i++)
if(visited[graph[v][i]] == false){
S.push(graph[v][i]);
visited[graph[v][i]] = true; }
}
}
void initialize() {
for(llu i = 0;i <max;++i)
visited[i] = false; }
int main() {
// freopen("aa.in","r",stdin);
//freopen("AA.out","w",stdout);
llu q;
sl(q);
for(int a0 = 0; a0 < q; a0++){
// memset(visited, false, sizeof(visited));
initialize();
llu n,m,x,y;
sl(n);
sl(m);
sl(x);
sl(y);
//in >> n >> m >> x >> y;
for(llu a1 = 0; a1 < m; a1++){
llu city_1;
llu city_2;
sl(city_1);
sl(city_2);
graph[city_1].push_back(city_2);
graph[city_2].push_back(city_1);
}
if(y>=x)
cout<<n*x<<endl;
else
{ llu disconnected=0,ans=0;
for(llu i=1;i<=n;i++)
{ if(visited[i] == false)
{
dfs(i );
disconnected++;
}
}
ans= (n-disconnected)*y + disconnected*x;
cout<<ans<<endl;
for(llu i=0;i<=n;i++)
graph[i].clear();
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIG1heCAxMDAwMDEKI2RlZmluZSBsbHUgbG9uZyBsb25nIGludCAKI2RlZmluZSBzbChhKSBzY2FuZigiJWxsZCIsJmEpCnZlY3RvcjxsbHU+Z3JhcGhbbWF4XTsKYm9vbCB2aXNpdGVkW21heF07CmxsdSBjbnQ9MDsKdm9pZCBkZnMobGx1IHMgKQp7ICBzdGFjazxsbHU+UzsKICAgICAgIFMucHVzaChzKTsKICAgICAgdmlzaXRlZFtzXSA9IHRydWU7CiAgICAgICAgIHdoaWxlKCFTLmVtcHR5KCkpeyAKICAgICAgICAgICBsbHUgIHY9Uy50b3AoKTsKICAgICAgICAgICAgIFMucG9wKCk7CiAgICBmb3IobGx1IGk9MDtpPGdyYXBoW3ZdLnNpemUoKTtpKyspCiAgICAgICAgICAgICBpZih2aXNpdGVkW2dyYXBoW3ZdW2ldXSA9PSBmYWxzZSl7CiAgICAgICAgICAgICAgICAgUy5wdXNoKGdyYXBoW3ZdW2ldKTsKICAgICAgICAgICAgICAgdmlzaXRlZFtncmFwaFt2XVtpXV0gPSB0cnVlOyB9CiAgICAgICAgIH0KfQp2b2lkIGluaXRpYWxpemUoKSB7CiAgICAgICAgZm9yKGxsdSBpID0gMDtpIDxtYXg7KytpKQogICAgICAgICB2aXNpdGVkW2ldID0gZmFsc2U7IH0KaW50IG1haW4oKSB7CiAgLy8gZnJlb3BlbigiYWEuaW4iLCJyIixzdGRpbik7CiAvL2ZyZW9wZW4oIkFBLm91dCIsInciLHN0ZG91dCk7CiAgICBsbHUgcTsKICAgIHNsKHEpOwogICAgZm9yKGludCBhMCA9IDA7IGEwIDwgcTsgYTArKyl7CiAgICAgICAgLy8gbWVtc2V0KHZpc2l0ZWQsIGZhbHNlLCBzaXplb2YodmlzaXRlZCkpOwogICAgICAgIGluaXRpYWxpemUoKTsgCiAgICAgICAgbGx1IG4sbSx4LHk7CiAgICAgICAgc2wobik7CiAgICAgICAgc2wobSk7CiAgICAgICAgc2woeCk7CiAgICAgICAgc2woeSk7CiAgICAgICAgCiAgICAgICAvL2luID4+IG4gPj4gbSA+PiB4ID4+IHk7CiAgICAgICAgZm9yKGxsdSBhMSA9IDA7IGExIDwgbTsgYTErKyl7CiAgICAgICAgICAgIGxsdSBjaXR5XzE7CiAgICAgICAgICAgIGxsdSBjaXR5XzI7CiAgICAgICAgICAgIHNsKGNpdHlfMSk7CiAgICAgICAgICAgIHNsKGNpdHlfMik7CiAgICAgICAgICAgICAKICAgICAgICAgICAgZ3JhcGhbY2l0eV8xXS5wdXNoX2JhY2soY2l0eV8yKTsKICAgICAgICAgICAgZ3JhcGhbY2l0eV8yXS5wdXNoX2JhY2soY2l0eV8xKTsKICAgICAgICAgICAgCiAgICAgICAgfQogICAgICAgaWYoeT49eCkKICAgICAgICAgICAgY291dDw8bip4PDxlbmRsOwogICAgICAgZWxzZQogICAgICAgeyAgIGxsdSAgZGlzY29ubmVjdGVkPTAsYW5zPTA7CiAgICAgICAgICAgZm9yKGxsdSBpPTE7aTw9bjtpKyspCiAgICAgICAgICAgeyAgaWYodmlzaXRlZFtpXSA9PSBmYWxzZSkKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICBkZnMoaSApOyAgCiAgICAgICAgICAgICAgICBkaXNjb25uZWN0ZWQrKzsKICAgICAgICAgICAgICAgfSAKICAgICAgICAgICAgCiAgICAgICAgICAgfQogICAgICAgICAgICAgIGFucz0gKG4tZGlzY29ubmVjdGVkKSp5ICsgZGlzY29ubmVjdGVkKng7CiAgICAgICAgICAgICAgICBjb3V0PDxhbnM8PGVuZGw7CiAgICAgICAgZm9yKGxsdSBpPTA7aTw9bjtpKyspCiAgICAgICAgICAgICAgIGdyYXBoW2ldLmNsZWFyKCk7CiAgICAgICB9CiAgICB9CiAgICByZXR1cm4gMDsKfQo=