#include <bits/stdc++.h>
using namespace std;
int tc;
int const NMAX = 1e5;
int n, m;
bool exists[1 + NMAX];
int main() {
cin >> tc;
while(tc--) {
cin >> n >> m;
for (int i = 1; i <= n-1; i++) {
exists[i] = false;
}
bool valid = true;
for (int i = 1; i <= m; i++) {
int a, b;
cin >> a >> b;
if (a > b) {
valid = false;
}
if (b == a+1) {
exists[a] = true;
}
}
if (!valid) {
cout << -1 << "\n";
continue;
}
int counter = n-1;
for (int i = 1; i <= n-1; i++) {
if (exists[i]) {
counter--;
}
}
cout << counter << "\n";
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IHRjOwppbnQgY29uc3QgTk1BWCA9IDFlNTsKaW50IG4sIG07CmJvb2wgZXhpc3RzWzEgKyBOTUFYXTsKCmludCBtYWluKCkgewogICAgY2luID4+IHRjOwogICAgd2hpbGUodGMtLSkgewogICAgICAgIGNpbiA+PiBuID4+IG07CiAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbi0xOyBpKyspIHsKICAgICAgICAgICAgZXhpc3RzW2ldID0gZmFsc2U7CiAgICAgICAgfQogICAgICAgIGJvb2wgdmFsaWQgPSB0cnVlOwogICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG07IGkrKykgewogICAgICAgICAgICBpbnQgYSwgYjsKICAgICAgICAgICAgY2luID4+IGEgPj4gYjsKICAgICAgICAgICAgaWYgKGEgPiBiKSB7CiAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChiID09IGErMSkgewogICAgICAgICAgICAgICAgZXhpc3RzW2FdID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoIXZhbGlkKSB7CiAgICAgICAgICAgIGNvdXQgPDwgLTEgPDwgIlxuIjsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIGludCBjb3VudGVyID0gbi0xOwogICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG4tMTsgaSsrKSB7CiAgICAgICAgICAgIGlmIChleGlzdHNbaV0pIHsKICAgICAgICAgICAgICAgIGNvdW50ZXItLTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjb3V0IDw8IGNvdW50ZXIgPDwgIlxuIjsKICAgIH0KfQ==