#include <stdlib.h>
#include <iostream>

using namespace std;

struct s{
    int br=0;
    int xp=0;
    int yp=0;
    int xd=0;
    int yd=0;
    int ymax=0;
    int m=1;
    int p=0;
};

int m[2100][2100];

struct s a[105000];

int main()
{
    int n,k,i,j,b,x,s=0;
    cin>>n>>b;
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n;j++)
        {
            cin>>m[i][j];
        }
    }
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n;j++)
        {
            k=m[i][j];
            a[k].br++;
            if(a[k].xp==0)
            {
                a[k].xp=i;
                a[k].yp=j;
            }
            if(j<a[k].yp)
                a[k].m=0;
            a[k].xd=i;
            a[k].yd=j;
            if(j>a[k].ymax)
                a[k].ymax=j;
        }
    }
    for(i=1;i<=b;i++)
    {
        if(a[i].br)
        {
        if(a[i].yd==a[i].ymax)
            a[i].p=1;
        x=((a[i].xd-a[i].xp+1)*(a[i].yd-a[i].yp+1));
        if(a[i].m&&x==a[i].br&&a[i].p)
            s++;
        }
    }
    cout<<s;
    return 0;
}