#include<bits/stdc++.h>
#define MAXN (int)2e3+20
#define MAXK (int)1e6+10
using namespace std;
int n, k;
int mat[MAXN][MAXN];
int mark[MAXN][MAXN];
int cnt[MAXK];
int res=0;
int main()
{
    cin >> n >> k;
    for(int i=0;i<n;i++)for(int j=0;j<n;j++)cin >> mat[i][j];
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            if(!mark[i][j])
            {
                mark[i][j]=true;
                int br = mat[i][j];
                int imax=i;
                while(mat[imax+1][j]==br && imax+1<n)
                {
                    imax++;
                    mark[imax][j]=true;
                }
                int jmax=j+1;
                while(jmax<n)
                {
                    bool jeste=true;
                    for(int x=i;x<=imax;x++)if(mat[x][jmax]!=br)jeste=false;
                    if(!jeste)break;
                    for(int x=i;x<=imax;x++)mark[x][jmax]=true;
                    jmax++;
                }
                cnt[br]++;
            }
        }
    }
    for(int i=1;i<=k;i++)if(cnt[i]==1)res++;
    cout << res;
    return 0;
}