#include <bits/stdc++.h>
using namespace std;
void solve() {
int n, m;
cin >> n >> m;
int edges[n];
memset(edges, 0, sizeof edges);
for(int i=0;i<n;i++) {
edges[i] |= (1 << i);
}
for(int i=0;i<m;i++) {
int u, v;
cin >> u >> v;
u-=1, v-=1;
edges[u] |= (1 << v);
edges[v] |= (1 << u);
}
int mn = n;
for(int bitmask = 1; bitmask < (1 << n) ; bitmask++) {
int temp = 0;
int cnt = 0;
for(int i=0; i<n; i++) {
if(bitmask & (1 << i) ) {
temp |= edges[i];
cnt++;
}
}
if( (temp+1) == (1 << n) ) {
mn = min(mn, cnt);
}
}
cout << mn << "\n";
}
int main() {
int t;
cin >> t;
while(t--) solve();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIHNvbHZlKCkgewoJaW50IG4sIG07CgljaW4gPj4gbiA+PiBtOwoJaW50IGVkZ2VzW25dOwoJbWVtc2V0KGVkZ2VzLCAwLCBzaXplb2YgZWRnZXMpOwoJCglmb3IoaW50IGk9MDtpPG47aSsrKSB7CgkJZWRnZXNbaV0gfD0gKDEgPDwgaSk7Cgl9Cglmb3IoaW50IGk9MDtpPG07aSsrKSB7CgkJaW50IHUsIHY7CgkJY2luID4+IHUgPj4gdjsKCQl1LT0xLCB2LT0xOwoJCWVkZ2VzW3VdIHw9ICgxIDw8IHYpOwoJCWVkZ2VzW3ZdIHw9ICgxIDw8IHUpOwoJfQoJaW50IG1uID0gbjsKCWZvcihpbnQgYml0bWFzayA9IDE7IGJpdG1hc2sgPCAoMSA8PCBuKSA7IGJpdG1hc2srKykgewoJCWludCB0ZW1wID0gMDsKCQlpbnQgY250ID0gMDsKCQlmb3IoaW50IGk9MDsgaTxuOyBpKyspIHsKCQkJaWYoYml0bWFzayAmICgxIDw8IGkpICkgewoJCQkJdGVtcCB8PSBlZGdlc1tpXTsKCQkJCWNudCsrOwoJCQl9CgkJfQoJCWlmKCAodGVtcCsxKSA9PSAoMSA8PCBuKSApIHsKCQkJbW4gPSBtaW4obW4sIGNudCk7CgkJfSAKCX0KCWNvdXQgPDwgbW4gPDwgIlxuIjsKfQoKaW50IG1haW4oKSB7CglpbnQgdDsKCWNpbiA+PiB0OwoJd2hpbGUodC0tKSBzb2x2ZSgpOwp9