/*
B. 篮球宝贝
Description
篮球宝贝既是激烈的篮球比赛之中，给赛场的紧张气氛带来些许放松的篮球拉拉队，同时为球迷和球员加油鼓劲的拉拉队员，而且篮球拉拉队的表演也非常精彩。篮球宝贝就是被球迷爱称为“篮球宝贝”的拉拉队员。今年NIT篮球协会要在学校内选一批篮球宝贝，学校很支持这项活动，把愿意参加活动的学生名单全部提供出来了，现在需要聪明的你来帮助活动的主办方完成这项任务。学校提供的名单信息含有性别、身高、年级三项内容，而篮球宝贝只能是大一或者大二的符合身高要求的女生，现在请你编程实现。

Input
本问题有多组测试数据，而且输入的第一行就是测试数据的组数。对于每一组测试数据，共有三部分；第一部分只有一行是两个整数n和m，n表示学生总数，m表示需要选拔的篮球宝贝的人数，其中1<=n<=20000，1<=m<=50，两数之间有空格分隔；第二部分也是一行是篮球宝贝所要求的身高，用两个整数F和T表示，也就是说F<=选中的学生的身高<=T，其中150<=F<=T<=180，两数之间有空格分隔；最后一部分有n行是学生的数据，每行有三个整数组成，第一个整数S表示性别，其中S=0表示女生，S=1表示男生，第二个整数H表示身高，第三个整数G表示年级，其中1<=G<=4，三个整数之间分别有空格隔开。

Output
对于每一组测试数据，输出只有一行，就是第m个满足要求的学生的输入顺序号（即在输入数据中是第几个学生）。如果没有符合结果的，那么输出”No such student!”。

Sample Input
2
3 1
160 165
1 181 2
0 162 3
0 163 2
3 2
160 165
1 180 1
0 165 1
0 163 3
Sample Output
3
No such student!
*/
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

int main()
{
    int t;
    scanf("%d",&t);
    int a,b,c;
    while(t--)
    {
        int n,m,l,r;
        cin>>n>>m>>l>>r;
        int ans=0;
        for(int i=0;i<n;i++)
        {
            cin>>a>>b>>c;
            if(m==0)continue;
            if(a==0&&b<=r&&b>=l&&c<=2)
            {
                m--;
            }
            if(!m)
            {
                ans=i+1;
            }
        }
        if(!m)cout<<ans<<endl;
        else cout<<"No such student!"<<endl;
    }
    return 0;
}
