#include <bits/stdc++.h>
#define ll long long
#define endl "\n"
#define TranHungss(); ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;
const int maxn = 1001;
int n, m, degree[maxn];
void input(){
memset(degree, 0, sizeof(degree));
cin >> n >> m;
for(int i = 0; i < m; i++){
int x, y;
cin >> x >> y;
++degree[x];
++degree[y];
}
}
void check(){
int cnt = 0;
for(int u = 1; u <= n; u++){
if((degree[u] % 2) != 0){
++cnt;
}
}
if(cnt == 0){
cout << 2 << endl;
}
else if(cnt == 2){
cout << 1 << endl;
}
else{
cout << 0 << endl;
}
}
int main(){
TranHungss();
int TC;
cin >> TC;
while(TC--){
input();
check();
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZW5kbCAiXG4iCiNkZWZpbmUgVHJhbkh1bmdzcygpOyBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBtYXhuID0gMTAwMTsKCmludCBuLCBtLCBkZWdyZWVbbWF4bl07Cgp2b2lkIGlucHV0KCl7CiAgICBtZW1zZXQoZGVncmVlLCAwLCBzaXplb2YoZGVncmVlKSk7CiAgICBjaW4gPj4gbiA+PiBtOwogICAgZm9yKGludCBpID0gMDsgaSA8IG07IGkrKyl7CiAgICAgICAgaW50IHgsIHk7CiAgICAgICAgY2luID4+IHggPj4geTsKICAgICAgICArK2RlZ3JlZVt4XTsKICAgICAgICArK2RlZ3JlZVt5XTsKICAgIH0KfQoKdm9pZCBjaGVjaygpewogICAgaW50IGNudCA9IDA7CiAgICBmb3IoaW50IHUgPSAxOyB1IDw9IG47IHUrKyl7CiAgICAgICAgaWYoKGRlZ3JlZVt1XSAlIDIpICE9IDApewogICAgICAgICAgICArK2NudDsKICAgICAgICB9CiAgICB9CiAgICBpZihjbnQgPT0gMCl7CiAgICAgICAgY291dCA8PCAyIDw8IGVuZGw7CiAgICB9CiAgICBlbHNlIGlmKGNudCA9PSAyKXsKICAgICAgICBjb3V0IDw8IDEgPDwgZW5kbDsKICAgIH0KICAgIGVsc2V7CiAgICAgICAgY291dCA8PCAwIDw8IGVuZGw7CiAgICB9Cn0KCmludCBtYWluKCl7CiAgICBUcmFuSHVuZ3NzKCk7CiAgICBpbnQgVEM7CiAgICBjaW4gPj4gVEM7CiAgICB3aGlsZShUQy0tKXsKICAgICAgICBpbnB1dCgpOwogICAgICAgIGNoZWNrKCk7CiAgICB9Cn0=