#include <bits/stdc++.h>

using namespace std;

void ispis(vector<vector<int>> m)
{
    for(int i=0;i<m.size();++i)
    {
        for(int j=0;j<m[i].size();++j)
            cout << m[i][j] << " ";
        cout << endl;
    }
    cout << endl;
}

bool prazanred(vector<vector<int>> m,int j,int i)
{
    for(int g=i;g<m.size();++g)
        if(m[g][j]!=0)
          return false;
    return true;
}

int main()
{
    int n,k;
    cin >> n >> k;
    vector<vector<int>> m(n,vector<int>(n));
    for(int i=0;i<n;++i)
        for(int j=0;j<n;++j)
           cin >> m[i][j];
    vector<int> ok(k+1,0);
    int i=0,j=0;
    while(j!=n && i!=n)
    {
        //namesti x y
        a:
         while(i<n && m[i][j]==0)
            ++i;
        if(i==n)
        {
            i=0;
            ++j;
            if(j==n)
                break;
            goto a;
        }
        int x=i+1,y=j+1;
        // sve dok je m[x][j] jednak m[i][j](pocetnom broju)
        while(x<n && m[x][j]==m[i][j]){
            m[x][j]=0;
            ++x;
        }
        //ispisuje
        //proveravi da li je pravougaono
        if(ok[m[i][j]]==1)
        {
            ok[m[i][j]]=2;
        }
        int broj_nalevo=0;
        bool b=true;
        for(int f=i;f<x;++f)
           {
               y=j+1;
               while(m[f][y]==m[i][j]){
                m[f][y]=0;
                ++y;
               }
              if(f!=i && y-j-1!=broj_nalevo)
               {
                   b=false;
               }
               else{
                broj_nalevo=y-j-1;
                }

           }
        //ako je pravougaonik stavlja ok[m[i][j]] na 1 i ide dalje
        if(ok[m[i][j]]!=2)
         ok[m[i][j]]=b;
        m[i][j]=0;
        if(x==n)
        {
            i=0;
            ++j;
            if(j==n){
                break;
            }
        }
        else
            {
                if(prazanred(m,j,i))
                {
                    ++j;
                    if(j==n){
                        break;

                    }
                    i=0;
                }
                else
                    i=x;
            }
    }
    long long cnt=0;
    for(int i=0;i<k+1;++i)
    {
        if(ok[i]==1)
            ++cnt;
    }
    cout << cnt << endl;
    return 0;
}