#include <iostream>
#include <stdio.h>
using namespace std;
int teritorija(int a[][2000],int i,int j)
{
    if(i==0)
        if(a[i][j-1]==a[i][j])
            return 1;
        else
            return 0;
    else
        if(j==0)
            if(a[i-1][j]==a[i][j])
                return 1;
            else
                return 0;
        else
            if(a[i-1][j-1]==a[i][j])
                if(a[i][j-1]==a[i][j] && a[i-1][j]==a[i][j])
                    return 1;
                else
                    return 0;
            else
                if(a[i][j-1]==a[i][j])
                    if(a[i-1][j]==a[i][j])
                        return 0;
                    else
                        return 1;
                else
                    if(a[i-1][j]==a[i][j])
                        return 1;
                    else
                        return 0;
}
int main()
{
    int a[2000][2000];
    int s[1000000];
    int n,k,i,j,p=0;
    cin>>n>>k;
    for(i=0;i<n;i++)
        for(j=0;j<n;j++)
            scanf("%d",&a[i][j]);
    for(i=0;i<k;i++)
        s[i]=0;
    for(i=0;i<n;i++)
        for(j=0;j<n;j++) 
            if(s[a[i][j]-1]!=2)
                if(s[a[i][j]-1]==0)
                    s[a[i][j]-1]=1;
                else
                    if(teritorija(a,i,j)==0)
                        s[a[i][j]-1]=2;
    for(i=0;i<k;i++)
        if(s[i]==1)
            p++;
    cout<<p;
    return 0;
}