/*
case 2 tle
http://www.2cto.com/kf/201308/239740.html
要过滤掉age〉100的数
还没错
*/
#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
#define N 100005
struct per
{
char s[10];
int age,v;
}p[N];
int cmp(const void *a,const void *b)
{
struct per *x=(struct per *)a;
struct per *y=(struct per *)b;
if(x->v!=y->v)return y->v-x->v;
if(x->age!=y->age)return x->age-y->age;
return strcmp(x->s,y->s);
}
int main()
{
int n,k,m,i,x,y,t,ans;
scanf("%d%d",&n,&k);
for(i=0;i<n;i++)
scanf("%s%d%d",p[i].s,&p[i].age,&p[i].v);
qsort(p,n,sizeof(struct per),cmp);
ans=0;
while(k--)
{
ans++;
scanf("%d%d%d",&m,&x,&y);
t=0;
printf("Case #%d:\n",ans);
for(i=0;i<n&&t<m;i++)
if(p[i].age>=x&&p[i].age<=y)
{
printf("%s %d %d\n",p[i].s,p[i].age,p[i].v);
t++;
}
if(!t)printf("None\n");
}
return 0;
}