/*
TASK:matrix
LANG:C++
*/
#include <iostream>
using namespace std;

int M,c=0,N,A[1001][1001],B[1001][1001],Temp[1001];

int Check(int i,int j)
{
int x=0,used[1001];

     for(int p=1;p<=j;p++) used[p]=0;

     for(int p=1;p<=c;p++)
	for(int q=1;q<=j;q++)
	   for(int t=1;t<=j;t++)
	      if( (B[p][q]==A[i][t])&&(!used[t]) ) { x++; break; }

     if(x==j) return 0;

     return 1;
}

void Add(int i,int j)
{
     c++;
     for(int p=1;p<=j;p++)
	B[c][p]=A[i][p];

}

int main()
{
    cin>>N>>M;

    for(int i=1;i<=N;i++)
    {

       for(int j=1;j<=M;j++) cin>>A[i][j];

       if( Check(i,M)==1 ) Add(i,M);
    }
    cout<<c<<"\n";
    return 0;
}
