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

int n,m,ma[100][100],minn=1000000,r,c,ans=0;
int dr[4]={ 1, 0,-1, 0};
int dc[4]={ 0, 1, 0,-1};
bool in(int r,int c){
	return r<n&&r>=0&&c<m&&c>=0;
}
int mini(int r,int c){
	int index=-1,min=1000000;
	for(int i=0;i<4;i++){
		//cout<<"		"<<i<<" "<<ma[r+dr[i]][c+dc[i]]<<" "<<in(r+dr[i],c+dc[i])<<"\n";
		if(in(r+dr[i],c+dc[i])&&ma[r+dr[i]][c+dc[i]]!=1000000&&ma[r+dr[i]][c+dc[i]]<min){
			index=i;
			min=ma[r+dr[i]][c+dc[i]];
			ma[r][c]=1000000;
		}
	}return index;
}
int main() {
	cin>>n>>m;
	for(int i=0;i<n;i++) for(int j=0;j<m;j++){
		cin>>ma[i][j];
		if(ma[i][j]<minn){
			minn=ma[i][j];
			r=i;
			c=j;
		}
	}
	for(int i=0;i<n*m;i++){
		ans+=ma[r][c];
		//cout<<"rcma "<<r<<" "<<c<<" "<<ma[r][c]<<"\n";
		int index=mini(r,c);
		if (index==-1)break;
		r+=dr[index];
		c+=dc[index];
	}cout<<ans;
}