/*
TASK:matrix
LANG:C++
*/
#include<iostream>
#include<algorithm>
using namespace std;
int n,m,f=0;int used[10000];
unsigned long a[10000][1000];
int main()
{ cin>>n>>m;
int i,j,k;
for(i=1;i<=n;i++)
 for( j=1;j<=m;j++)
  cin>>a[i][j];
for(i=1;i<=n;i++)
sort(a[i]+1,a[i]+m+1);
 for(i=1;i<=n;i++)
  { if(used[i]==0)
     for(j=i+1;j<=n;j++)
       if(used[j]==0)
         for(k=1;k<=m;k++)
         { if(a[i][k]!=a[j][k])break;
           if(k==m){f++;used[i]=1;used[j]=1;}
         }
  }   
cout<<n-f<<endl;
return 0;

}     
