/*
TASK: matrix
LANG: C++
*/

#include <iostream.h>
#include <stdlib.h>
int n,m;
int mat[1001][1001];

void read()
{
	cin>>n>>m;
	int i,j,sum;
	for(i=0;i<n;i++)
	{
		sum=0;
		for(j=0;j<m;j++)
		{
			cin>>mat[i][j];
			sum=sum+mat[i][j];
		}
		mat[i][j]=sum;
	}
}

int cmp(const void *a,const void *b)
{
	int *x,*y;
	x=(int*)a;
    y=(int*)b;
	return *x-*y;
}


int main()
{
	read();
	int i,j,k;
	int t=0;
	for(i=0;i<n-1;i++)
	{
		if(mat[i][m]!=0)
		{
			qsort(mat[i],m,sizeof(int),cmp);
			for(j=i+1;j<n;j++)
			{
				if(mat[i][m]==mat[j][m])
				{
					qsort(mat[j],m,sizeof(int),cmp);
					for(k=0;k<m;k++)
					{
						if(mat[i][k]!=mat[j][k])
						{
							t=1;
						}
					}
					if(t==0) mat[j][m]=0;
					t=0;
				}
			}
		}
	}
	t=0;
	for(i=0;i<n;i++)
	{
		if(mat[i][m]!=0) t++;
	}
	cout<<t<<endl;
	return 0;
}