#include<iostream>
#include<cstdio>
using namespace std;
int m,n,s,ans=9999;
int a[20][20];
bool f[20][20];
int xx[4]={1,-1,0,0},yy[4]={0,0,1,-1};
void dfs(int x,int y,int num,int sum)
{
if(sum>=s)
{
if(sum==s) ans=min(ans,num);
return;
}
for(int i=0;i<4;i++)
{
int xix,yiy;
xix=x+xx[i];yiy=y+yy[i];
if(f[xix][yiy]==0&&xix>0&&xix<=m&&yiy>0&&yiy<=n)
{
f[xix][yiy]=1;
dfs(xix,yiy,num+1,sum+a[xix][yiy]);
f[xix][yiy]=0;
}
}
}
int main()
{
cin>>m>>n;
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
{
cin>>a[i][j];
s+=a[i][j];
}
}
if(s%2==1)
{
cout<<"0"<<endl;
return 0;
}
s/=2;
f[1][1]=1;
dfs(1,1,0,0);
if(ans=9999)cout<<"0";
else cout<<ans<<endl;
return 0;
}