#include <bits/stdc++.h>

using namespace std;
int a[2000][2000], n, skup[1000006];
int yOsa(int x, int y)
{
    int i;
    for(i=x;i<n;i++)
        if(a[i][y]!=a[x][y]){
            break;
            i = i-1;
        }
    return i;
}
int xOsa(int x, int y)
{
    int i;
    for(i=y;i<n;i++)
        if(a[x][i]!=a[x][y]){
            break;
        }
    return i;
}
void obrada(int x, int y, int a2, int b, int val)
{
    int temp = 0;
    for(int i=x; i<a2; i++)
        for(int j=y; j<b; j++)
        {
            if(a[i][j] == val){
                a[i][j] = 0;
                temp++;
            }
        }
    if(temp == (a2-x)*(b-y))
        skup[val] = 1;
    else
        skup[val] = -1;
}
int main()
{
    int k;
    cin >> n >> k;
    for(int i=1; i<=k; i++)
        skup[i]=0;
    for(int i=0; i<n;i++)
        for(int j=0;j<n;j++)
        cin >> a[i][j];

    for(int i=0; i<n; i++)
        for(int j=0; j<n; j++)
        {
            if(skup[a[i][j]] == -1){
                a[i][j] = 0;

            }else if(skup[a[i][j]] == 1){
                skup[a[i][j]] = -1;
                a[i][j] = 0;
            }else if(a[i][j] != 0){
                obrada(i, j, yOsa(i, j), xOsa(i, j), a[i][j]);
            }
        }
    int sum = 0;
    for(int i=1; i<=k; i++)
        if(skup[i] == 1)
        sum++;
    cout << sum;
    return 0;
}