
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+10;
#define ll long long
struct stu
{
int num;
int d,c;
int lei;
int sum;
}q[maxn];
int cmp(stu a,stu b)
{
if(a.lei==b.lei)
{
if(a.sum==b.sum)
{
if(a.d==b.d)
{
return a.num<b.num;
}
return a.d>b.d;
}
return a.sum>b.sum;
}
return a.lei<b.lei;
}
int main()
{
int n,l,h;
int cnt=0;
scanf("%d%d%d",&n,&l,&h);
for(int i=0;i<n;i++)
{
q[i].lei=0;
q[i].sum=0;
}
for(int i=0;i<n;i++)
{
scanf("%d%d%d",&q[i].num,&q[i].d,&q[i].c);
q[i].sum=q[i].c+q[i].d;
if(q[i].d>=h&&q[i].c>=h)
{
cnt++;
q[i].lei=1;
}
else if(q[i].d>=h&&q[i].c<h&&q[i].c>=l)
{
cnt++;
q[i].lei=2;
}
else if((q[i].d<h&&q[i].c<h&&q[i].c>=l&&q[i].d>=l)||(q[i].c>=h&&q[i].d<h&&q[i].d>=l))
{
cnt++;
if(q[i].d>=q[i].c)
{
q[i].lei=3;
}
else
q[i].lei=4;
}
}
printf("%d\n",cnt);
sort(q,q+n,cmp);
for(int i=0;i<n;i++)
{
if(q[i].lei>0)
printf("%d %d %d\n",q[i].num,q[i].d,q[i].c);
}
}