#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("cutii.in");
ofstream fout ("cutii.out");
struct el
{
int a,b,c;
};
el v[10506];
int cmp (el a,el b)
{
if (a.a==b.a)
{
if (a.b==b.b)
return a.c<b.c;
return a.b<b.b;
}
return a.a<b.a;
}
int n,q,t,i,j,maxc,d[3502];
int main()
{
fin>>n>>q;
for (t=1; t<=q; t++)
{
maxc=0;
for (i=1; i<=n; i++)
{
fin>>v[i].a>>v[i].b>>v[i].c;
d[i]=1;
}
sort (v+1,v+n+1,cmp);
for (i=1; i<=n; i++)
{
for (j=1; j<i; j++)
{
if (v[j].b<v[i].b&&v[j].c<v[i].c&&v[j].a!=v[i].a)
d[i]=max (d[i],d[j]+1);
}
}
for (i=1; i<=n; i++)
maxc=max (maxc,d[i]);
fout<<maxc<<"\n";
}
return 0;
}