struct date{
char a[10];
int b,c,d;
int sum;
};
void sort(struct date *B,int n);
int main()
{
int n,s1,s2;
scanf("%d%d%d",&n,&s1,&s2);
struct date B[n],B1[n],B2[n],B3[n],B4[n];
for(int i=0;i<n;i++){
scanf("%s%d%d",B[i].a,&B[i].b,&B[i].c);
B[i].sum=B[i].b+B[i].c;
}
int a1=0,a2=0,a3=0,a4=0;
for(int i=0;i<n;i++){
if(B[i].b>=s1&&B[i].c>=s1){
if(B[i].b>=s2&&B[i].c>=s2){
a1++;
B1[a1]=B[i];
}
else if(B[i].b>=s2&&B[i].c<s2){
a2++;
B2[a2]=B[i];
}
else if(B[i].b<s2&&B[i].c<s2&&B[i].b>=B[i].c){
a3++;
B3[a3]=B[i];
}
else{
a4++;
B4[a4]=B[i];
}
}
}
sort(B1,a1);
sort(B2,a2);
sort(B3,a3);
sort(B4,a4);
printf("%d\n",a1+a2+a3+a4);
for(int i=1;i<=a1&&B1[i].b>=s1&&B1[i].c>=s1;i++){
printf("%s %d %d\n",B1[i].a,B1[i].b,B1[i].c);
}
for(int i=1;i<=a2;i++){
printf("%s %d %d\n",B2[i].a,B2[i].b,B2[i].c);
}
for(int i=1;i<=a3;i++){
printf("%s %d %d\n",B3[i].a,B3[i].b,B3[i].c);
}
for(int i=1;i<=a4;i++){
printf("%s %d %d",B4[i].a,B4[i].b,B4[i].c);
if(i<a4){
printf("\n");
}
}
}
void sort(struct date *B,int n)
{
for(int i=1;i<=n-1;i++){
for(int j=i+1;j<=n;j++){
if(B[i].sum<B[j].sum){
struct date t=B[i];
B[i]=B[j];
B[j]=t;
}
else if(B[i].sum==B[j].sum){
if(B[i].b<B[j].b){
struct date t=B[i];
B[i]=B[j];
B[j]=t;
}
else if(B[i].b==B[j].b){
if(strcmp(B[i].a,B[j].a)>0){
struct date t=B[i];
B[i]=B[j];
B[j]=t;
}
}
}
}
}
}