#include <iostream>

using namespace std;

pair <int,int> used[1000001]={{}};
bool badType[1000001]={};
int line[2222]={};

void b(int a){
    //cout<<a<<" is bad."<<endl;
}

int main() {
    int n,k,a,rez=0;
    cin>>n>>k;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            cin>>a;
            if(i>1 and j>1){
                if(line[j-1]==line[j] and line[j]!=a){
                    if(not badType[line[j]]){
                        badType[line[j]]=true;b(line[j]);
                        rez--;
                    }
                }
            }
            
            if(i==0){
                if(used[a].first or used[a].second){
                    if(line[j-1] not_eq a and not badType[a]){
                        badType[a]=true;b(a);
                        rez--;
                    }
                }
                else{
                    used[a].first=i;
                    used[a].second=j;
                    rez++;
                }
                
                line[j]=a;
            }
            else{
                if(used[a].first or used[a].second){
                    if(i not_eq used[a].first and j not_eq used[a].second){
                        if((line[j-1] not_eq a or line[j] not_eq a) and not badType[a]){
                            badType[a]=true;b(a);
                            rez--;
                        }
                    }
                    else {
                        if(i==used[a].first){
                            if(line[j-1] not_eq a and not badType[a]){
                                badType[a]=true;b(a);
                                rez--;
                            }
                        }
                        if(j==used[a].second){
                            if(line[j] not_eq a and not badType[a]){
                                badType[a]=true;b(a);
                                rez--;
                            }
                        }
                    }
                }
                else{
                    used[a].first=i;
                    used[a].second=j;
                    rez++;
                }
                
                line[j]=a;
            }
        }
    }
    cout<<rez<<endl;
}

/*

5 10
3 2 2 1 4
2 2 2 7 4
8 2 2 1 3
8 8 9 9 9
8 8 1 5 1

3 10
1 1 1
1 2 2
1 2 3
*/