#include <iostream>

using namespace std;

int mat[2001][2001];
int n;
bool posecenost[2001][2001];
int rec1[1000001];

void checkIfRec(int x, int y, int k){
    int z=x;
    while(mat[z][y]==k){
        posecenost[z][y]=true;
        ++z;
    }
    --z;
    int t=y+1;
    while (t<n && mat[x][t]==k){
        int p=x;
        while (mat[p][t]==k){
            posecenost[p][t]=true;
            ++p;
        }
        p--;
        if (p!=z){
            rec1[k]=-INT_MAX;
            return;
        }
        ++t;
    }
    rec1[k]++;
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int k;
    int br=0;
    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 (!posecenost[i][j]){
                checkIfRec(i, j, mat[i][j]);
            }
        }
    }
    for (int i=1; i<=k; ++i){
        if (rec1[i]==1){
            br++;
        }
    }
    cout << br;
    return 0;
}