#include<bits/stdc++.h>
int a[10001][10001],n,m,mm1,mm2,ll1,ll2,l,ans,q0,xxc;
int big(int a,int b,int c){
if(a>b>c)return a;
if(a>c>b)return a;
if(b>c>a)return b;
if(b>a>c)return b;
if(c>a>b)return c;
if(c>b>a)return c;
}
using namespace std;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
if(a[i][j]==0&&l==0){
mm1=i;mm2=j;l=1;
}
else if(a[i][j]==0&&l==1){
ll1=i;ll2=j;
}
}
}
while(xxc==0){
for(int i=1;i<=mm1;i++){
for(int j=1;j<=mm2;j++){
ans+=big(a[i-1][j-1],a[i-1][j],a[i][j-1]);
if(big(a[i-1][j-1],a[i-1][j],a[i][j-1])==a[i-1][j-1]) a[i-1][j-1]=0;
if(big(a[i-1][j-1],a[i-1][j],a[i][j-1])==a[i-1][j]) a[i-1][j]=0;
if(big(a[i-1][j-1],a[i-1][j],a[i][j-1])==a[i][j-1]) a[i][i-1]=0;
if(ans=0) xxc=1;
}
}
}
while(xxc==0){
for(int i=ll1;i>=1;i--){
for(int j=ll2;j>=1;j--){
ans+=big(a[i+1][j+1],a[i+1][j],a[i][j+1]);
if(big(a[i+1][j+1],a[i+1][j],a[i][j+1])==a[i+1][j+1]) a[i+1][j+1]=0;
if(big(a[i+1][j+1],a[i+1][j],a[i][j+1])==a[i+1][j]) a[i+1][j]=0;
if(big(a[i+1][j+1],a[i+1][j],a[i][j+1])==a[i][j+1]) a[i][i+1]=0;
if(ans=0) xxc=1;
}
}
}
cout<<ans;
return 0;
}