#include <bits/stdc++.h>

using namespace std;

bool used[1000001];


int main()
{

    int n,k;
    cin>>n>>k;

    int m[n][n];

    unordered_set<int> kategorije;

    int tempKat,tempJ;



    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            cin>>m[i][j];

        }
    }


    for(int j=0;j<n;j++)
    {
        for(int i=0;i<n;i++)
        {
            if(m[i][j]>0)
            {
                if(used[m[i][j]])
                {
                    kategorije.erase(m[i][j]);
                }
                else
                {
                    used[m[i][j]]=true;
                    kategorije.insert(m[i][j]);
                    tempKat=m[i][j];
                    tempJ=j;



                        int j2=tempJ;

                        while(j2<n && m[i][j2]==tempKat)
                            j2++;

                        int jStart=tempJ;


                        while(i<n && m[i][tempJ]==tempKat)
                        {
                            for(jStart=tempJ;jStart<j2; jStart++)
                            {
                                if(m[i][jStart]==tempKat)
                                    m[i][jStart]=0;
                                else
                                {
                                    kategorije.erase(tempKat);
                                    break;
                                }
                            }
                            i++;


                        }
                        i--;







                }
            }

        }

    }


    cout<<kategorije.size();



    return 0;
}