#include<iostream>
#include<math.h>
#include<vector>
using namespace std;
struct ja_sam_sjajan
{
int x;
int y;
     };
     
     
int main()
{
   int n,k,i,j,a,b=0,c;
cin>>n>>k;
vector<vector<int> > mat(n, vector<int>(n));
vector<int> niz(k);
vector<ja_sam_sjajan> niz1(k);
vector<ja_sam_sjajan> niz2(k);
for(i=0;i<n;i++)
{
                for(j=0;j<n;j++)
{cin>>mat[i][j];
                }
                }
                for(i=0;i<k;i++)
                {niz[i]=0;
                }
                for(i=0;i<n;i++)
{
                for(j=0;j<n;j++)
{if(niz[mat[i][j]]==0){niz1[mat[i][j]].x=i;niz1[mat[i][j]].y=j;}
                 niz[mat[i][j]]++;
                 niz2[mat[i][j]].x=i;niz2[mat[i][j]].y=j;
{
                     }
                }
                }
                for(i=0;i<k;i++)
                {if(niz[i]!=0)
                {
                 if(niz[i]==(abs(niz1[i].x-niz2[i].x)+1)*(abs(niz1[i].y-niz2[i].y)+1))    
                 {b++;
                                                                              }         
                              }
                }
                cout<<b;
           
                return 0;
}