#include <iostream>
#include <cstdio>
#include <algorithm>
#define boost ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
using namespace std;
#include <string>
#include <vector>
typedef long long ll;
struct times
{
int index;
int sum;
};
bool com(struct times t1,struct times t2)
{
return t1.sum<t2.sum;
}
int main()
{
int t;
cin>>t;
while(t--)
{
int n,l;
cin>>n>>l;
int a,b,c,sum=0;
vector<times>res;
vector<int>v;
vector<int>v2;
for(int i=1;i<=n;i++)
{
scanf("%d:%d:%d",&a,&b,&c);
sum=a*3600+b*60+c;
times tt;
tt.index=i;
tt.sum=sum;
res.push_back(tt);
}
sort(res.begin(),res.end(),com);
// cout<<"--------"<<endl;
// for(auto &a:res)
// {
// cout<<a.index<<" ";
// }
// cout<<"--------"<<endl;
int cha=0;
v.push_back(res[0].index);
// cout<<v[0]<<"---"<<endl;
sum=res[0].sum;
for(int i=1;i<n;i++)
{
int f=res[i].sum;
if(sum+l<=f)
{
v.push_back(res[i].index);
sum=f;
}
}
sort(v.begin(),v.end());
vector<int>::iterator it;
cout<<v.size()<<endl;
bool tf=false;
for(it=v.begin();it!=v.end();it++)
{
if(tf)
{
cout<<" ";
}
cout<<*it;
tf=true;
}
if(t)
cout<<endl;
}
return 0;
}