#include <cstdio>
#include <cstring>
#define Nmax 3510
#define file_in "cutii.in"
#define file_out "cutii.out"
int v[Nmax],t,n,x,y,z,lmax[Nmax],nr;
inline int cautbin(int p, int u, int x)
{
int mij,i,j;
mij=(p+u)>>1;
while(p<=u)
{
if (lmax[mij]>=x && lmax[mij-1]<x)
return mij;
if (lmax[mij]<x)
{
p=mij+1;
mij=(p+u)>>1;
}
else
{
u=mij-1;
mij=(p+u)>>1;
}
}
return ++nr;
}
inline int solve()
{
int i,j,l;
for (i=1;i<=n;++i)
{
l=cautbin(1,nr,v[i]);
lmax[l]=v[i];
}
return nr;
}
int main()
{
int i,j;
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d %d", &n,&t);
while(t--)
{
nr=0;
memset(v,0,sizeof(v));
memset(lmax,0,sizeof(lmax));
for (i=1;i<=n;++i)
{
//printf("%d %d %d\n", x,y,z);
scanf("%d %d %d", &x,&y,&z);
// printf("%d %d %d\n", x,y,z);
v[i]=x*y*z;
}
/*for (i=1;i<=n;++i)
printf("%d ",v[i]);
printf("\n");*/
printf("%d\n", solve());
}
fclose(stdin);
fclose(stdout);
return 0;
}