#include <bits/stdc++.h>

using namespace std;

int n, k;
int mat[2000][2000];
bool niz[1000001];
int poc[1000001];
int kolona[1000001];
int duz[1000001];
int res = 0;
bool gledati[1000001];

int main()
{
    cin.tie(NULL);
    ios_base::sync_with_stdio(false);
    cin >> n >> k;
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n; j++)
            cin >> mat[i][j];
    }
    for(int i = 1; i <= k; i++)
    {
        gledati[i] = true;
        niz[i] = false;
    }
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n; j++)
        {
            if(gledati[mat[i][j]])
            {
                if(!niz[mat[i][j]])
                {
                    //cout << mat[i][j] << " ";
                    kolona[mat[i][j]] = i;
                   // cout << kolona[mat[i][j]];
                    poc[mat[i][j]] = j;
                    duz[mat[i][j]] = 1;
                    res++;
                    niz[mat[i][j]] = true;
                }
                else
                {

                    if(kolona[mat[i][j]] == i)
                    {

                        if(j != poc[mat[i][j]] + duz[mat[i][j]])
                        {

                            //cout << mat[i][j];
                            res--;
                            gledati[mat[i][j]] = false;
                        }
                        else
                        {

                            duz[mat[i][j]]++;
                        }
                    }
                    else if(kolona[mat[i][j]] == i - 1)
                    {

                        if(j == poc[mat[i][j]])
                        {
                            int duzi = 1;
                            j++;
                            while(mat[i][j] == mat[i][j - 1])
                            {
                                duzi++;
                                j++;
                            }
                            if(duzi == duz[mat[i][j - 1]])
                            {
                                kolona[mat[i][j - 1]]++;
                            }
                            else
                            {
                               // cout << mat[i][j - 1];
                               // cout << kolona[9] << i;
                                res--;
                                gledati[mat[i][j - 1]] = false;
                            }
                            j-=1;
                        }
                        else
                        {
                            res--;
                            gledati[mat[i][j]] = false;
                        }
                    }
                    else
                    {
                        res--;
                        gledati[mat[i][j]] = false;
                    }
                }
            }
        }
    }
    cout << res;
    return 0;
}