#include <bits/stdc++.h>
using namespace std;

int n,k,m[2005][2005],vis[1000005],res=0;
bool visited[2005][2005];

bool check(int r,int cl,int cr,int type)
{
    for(int i=cl;i<=cr;i++)
    {
        if(m[r][i]!=type)
        {
            return false;
        }
    }
    return true;
}

void visit(int r,int c)
{
    int type=m[r][c],cr;
    for(cr=c;m[r][cr]==type;cr++)
    {
        visited[r][cr]=1;
    }
    cr--;
    for(int i=r+1;check(i,c,cr,type);i++)
    {
        for(int j=c;j<=cr;j++)
        {
            visited[i][j]=1;
        }
    }
}

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);
    cin>>n>>k;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            cin>>m[i][j];
        }
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            if(visited[i][j])
            {
                continue;
            }
            if(vis[m[i][j]]==0)
            {
                //cout<<"\t"<<m[i][j]<<" "<<i<<" "<<j<<"\n";
                vis[m[i][j]]++;
                res++;
                visit(i,j);
            }
            else if(vis[m[i][j]]==1)
            {
                vis[m[i][j]]++;
                res--;
                //cout<<m[i][j]<<" "<<i<<" "<<j<<"\n";
            }
        }
    }
    cout<<res;
}