#include <iostream>

using namespace std;

#define MAXN 2000
#define MAXK 1000001

class Sorta
{
    int br,g,d,le,de;
public:
    Sorta(){
        br=0;
        d=de=-1;
        g=le=MAXN+1;
    }
    void reg(int ,int);
    bool pravougaonik();
};

void Sorta::reg(int i,int j){
    br++;
    if(i>d)
        d=i;
    if(i<g)
        g=i;
    if(j>de)
        de=j;
    if(j<le)
        le=j;
}

bool Sorta::pravougaonik(){
    return br==(d-g+1)*(de-le+1);
}

void unos(int m[][MAXN],int n,Sorta x[]){
    for(int i=0;i<n;i++)
        for(int j=0;j<n;j++){
            cin>>m[i][j];
            x[m[i][j]].reg(i,j);
        }
}

int res(Sorta x[],int k){
    int r=0;
    for(int i=1;i<=k;i++)
        if(x[i].pravougaonik())
            r++;
    return r;
}

int main()
{
    int n,k,m[MAXN][MAXN];
    Sorta x[MAXK];
    cin>>n>>k;
    unos(m,n,x);
    cout<<res(x,k);

    return 0;
}