#include <iostream>

using namespace std;

int main()
{
    int n,k,polje,suma=0;
    cin >> n >> k;
    int farma[n][n];

    int poljabroj[k];
    int poljapocetna[k];
    int poljakrajnja[k];
    for(int i = 0; i < k; i++){
        poljabroj[i] = 0;
        poljapocetna[i] = -1;
        poljakrajnja[i] = -1;
    }

    for(int i = 0; i < n; i++){
        for(int j = 0; j < n; j++){
            cin >> polje;
            farma[i][j] = polje;
            poljabroj[polje-1]++;
            if(poljapocetna[polje-1] == -1)
                poljapocetna[polje-1] = (i)*n+j;
            poljakrajnja[polje-1] = (i)*n+j;
        }
    }

    int br;
    bool valid;
    for(int x = 0; x < k; x++){
        br = 0;
        valid = true;
        for(int i = poljapocetna[x]/n; i <= poljakrajnja[x]/n; i++){
            for(int j = poljapocetna[x]%n; j <= poljakrajnja[x]%n; j++){
                if(farma[i][j] == x+1)
                    br++;
                else{
                    valid = false;
                    break;
                }
            }
            if(!valid)
                break;
        }
        if(valid && br == poljabroj[x])
            suma ++;
    }

    cout << suma;
}