#include <iostream>
#include <string>
using namespace std;

int n, k1, m[2005][2005], suma;
struct slog {
    int koliko, x1, y1, x2, y2;

} k [1000005];

bool valja (int broj, int xprvi, int yprvi, int xdrugi, int ydrugi) {

    if (k [broj].koliko!=(xdrugi-xprvi+1)*(ydrugi-yprvi+1)) return false;

    bool nijedobro=false;
    for (int i=xprvi; i<=xdrugi; i++) {
        for (int j=yprvi; j<=ydrugi; j++) {
            if (m[i][j]!=broj) {
                nijedobro=true;
                break;
            }
        }
    }
    if (nijedobro) return false;
    else return true;


}

int main () {

    cin>>n>>k1;

    for (int i=1; i<=n; i++) {
        for (int j=1; j<=n; j++) {
            cin>>m[i][j];
            k [m[i][j]].koliko++;
            if (k [m[i][j]].koliko==1) {
                k [m[i][j]].x1=i;
                k [m[i][j]].y1=j;
            }
            k [m[i][j]].x2=i;
            k [m[i][j]].y2=j;
        }
    }




    for (int i=1; i<=k1; i++) {
        if (k [i].koliko==1) suma ++;

        else if (valja(i, k [i].x1, k [i].y1, k [i].x2, k [i].y2)) suma ++;

    }

    cout<<suma<<endl;

    return 0;
}