#include "bits/stdc++.h"
using namespace std;
#define f1(n) for(int i=0;i<n;i++)
#define f3(n) for(int j=0;j<n;j++)
#define f2(m,n,q) for(int i=m;i<n;i+=q)
#define f4(m,n,q) for(int j=m;j<n;j+=q)
#define int long long
#define pb push_back
constexpr int N=55,M=1e10,LOG=21,mod=998244353,inf=1e15;
using pr=pair<int,int>;
using ar=array<int,3>;
int n,m,a[N][N],dp[N][N][N][N];
int rec(int x1,int y1,int x2,int y2) {
if (x1>x2||y1>y2)return inf;
if (x1==x2&&y1==y2)return 0;
int &ret=dp[x1][y1][x2][y2];
if (ret!=-1)return ret;
// compute sum
ret=inf;
int sm=0;
for (int i=x1;i<=x2;i++) {
for (int j=y1;j<=y2;j++) {
sm+=a[i][j];
}
}
for (int k=x1;k<x2;k++) {
int op1=rec(x1,y1,k,y2),op2=rec(k+1,y1,x2,y2);
ret=min(ret,sm+op1+op2);
}
for (int k=y1;k<y2;k++) {
int op1=rec(x1,y1,x2,k),op2=rec(x1,k+1,x2,y2);
ret=min(ret,sm+op1+op2);
}
return ret;
}
signed main(){
ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
int tt=1;//cin>>tt;
while(tt--) {
cin>>n>>m;
f1(n)f3(m)cin>>a[i+1][j+1];
memset(dp,-1,sizeof dp);
cout<<rec(1,1,n,m);
}
}