#include<iostream>

using namespace std;


bool pravougaonik(int x[][2000],int i,int j,int b,int c){
int a,g;
int ind=x[i][j];
for(a=i;a<=b;a++){
    for(g=j;g<=c;g++){
      if(x[a][g]!=ind)
        return false;
    }
}
return true;
}




void izbrisi(int x[][2000],int i,int j,int n){
int a,b,c;
c=x[i][j];
for(a=0;a<n;a++){
    for(b=0;b<n;b++){
      if(x[a][b]==c)
        x[a][b]=0;
}
}
}


int main(){
 int n,i,j,k,b,c,a,sorta,zbir,indikator,ind,y,z;
 cin>>n;
 cin>>k;
 zbir=0;
 int x[n][2000];
for(i=0;i<n;i++){
    for(j=0;j<n;j++){
        cin>>x[i][j];
    }
}
for(y=0;y<n;y++){
    for(z=0;z<n;z++){
            ind=x[y][z];
            if(ind==0){
            continue;
            }
            ind=x[y][z];
        for(b=n-1;b>=0;b--){
            for(c=n-1;c>=0;c--){
                if(x[b][c]==0)
            continue;
if(x[b][c]==ind){
    if(pravougaonik(x,y,z,b,c)){
    zbir++;
    izbrisi(x,y,z,n);
}
else
    izbrisi(x,y,z,n);
}
            }
        }
    }
}

cout<<zbir;

return 0;
}