#include<stdio.h>
#include<algorithm>
using namespace std;
struct input
{
long long pre;
long long start;
long long end;
};
int main()
{
typedef long long ll;
ll test,n,k,a,b,c,prev,end,count;
scanf("%lld",&test);
while(test--)
{
scanf("%lld%lld",&n,&k);
input abc[n];
for(int i=0;i<n;i++)
{
scanf("%lld%lld%lld",&a,&b,&c);
abc[i].pre=c;
abc[i].start=a;
abc[i].end=b;
}
count=1;
// sort(abc,abc+n); //Giving error
prev=abc[0].pre;
end=abc[0].end;
for(int i=1;i<n;i++)
{
if(abc[i].pre==prev)
{
if(abc[i].start>=end)
{
count++;
end=abc[i].end;
}
}
else
{
prev=abc[i].pre;
end=abc[i].end;
count++;
}
}
//abc.clear();
printf("%lld\n",count);
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpzdHJ1Y3QgaW5wdXQKewoJbG9uZyBsb25nIHByZTsKCWxvbmcgbG9uZyBzdGFydDsKCWxvbmcgbG9uZyBlbmQ7Cn07CmludCBtYWluKCkKewoJdHlwZWRlZiBsb25nIGxvbmcgbGw7CglsbCB0ZXN0LG4sayxhLGIsYyxwcmV2LGVuZCxjb3VudDsKCXNjYW5mKCIlbGxkIiwmdGVzdCk7Cgl3aGlsZSh0ZXN0LS0pCgl7CgkJc2NhbmYoIiVsbGQlbGxkIiwmbiwmayk7CgkJaW5wdXQgYWJjW25dOyAKCQlmb3IoaW50IGk9MDtpPG47aSsrKQoJCXsKCQkJc2NhbmYoIiVsbGQlbGxkJWxsZCIsJmEsJmIsJmMpOwoJCQlhYmNbaV0ucHJlPWM7CgkJCWFiY1tpXS5zdGFydD1hOwoJCQlhYmNbaV0uZW5kPWI7CgkJfQoJCWNvdW50PTE7CgkvLwlzb3J0KGFiYyxhYmMrbik7CQkvL0dpdmluZyBlcnJvcgoJCXByZXY9YWJjWzBdLnByZTsKCQllbmQ9YWJjWzBdLmVuZDsKCQlmb3IoaW50IGk9MTtpPG47aSsrKQoJCXsKCQkJaWYoYWJjW2ldLnByZT09cHJldikKCQkJewoJCQkJaWYoYWJjW2ldLnN0YXJ0Pj1lbmQpCgkJCQl7CgkJCQkJY291bnQrKzsKCQkJCQllbmQ9YWJjW2ldLmVuZDsKCQkJCX0KCQkJfQoJCQllbHNlCgkJCXsKCQkJCXByZXY9YWJjW2ldLnByZTsKCQkJCWVuZD1hYmNbaV0uZW5kOwoJCQkJY291bnQrKzsKCQkJfQoJCX0KCQkvL2FiYy5jbGVhcigpOwoJCXByaW50ZigiJWxsZFxuIixjb3VudCk7Cgl9CglyZXR1cm4gMDsKfQ==