/*
TASK:matrix
LANG:C++
*/
#include<stdio.h> //Lybomir Ivanov C10
#include<iostream>
#include<stdlib.h>
using namespace std;
int i,j,m,n,a[1000][1000],sum[1000];
int funcc(const void *a, const void *b)
{
return (*(int *)a - *(int *)b);
}
int main()
{
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
  for(j=0;j<m;j++)
    {
     scanf("%d",&a[i][j]);
     sum[i]+=a[i][j];
    }
for(i=0;i<n;i++)
  qsort((void *)a[i],m,sizeof(a[i][0]),funcc);
int br=n,k;
for(i=0;i<n-1;i++)
  for(j=i+1;j<n;j++)
    if(sum[i] && sum[j] && sum[i]==sum[j]) {
                                         for(k=0;k<m;k++) if(a[i][k]!=a[j][k]) break;
                                         if(k==m) { br--;sum[j]=0; }
                                        }
printf("%d",br);
return 0;
}
