#include <bits/stdc++.h>
using namespace std;
const int N=85;
int a[N][N],b[N][N];
int f[N][N][N*N*2];
int main() {
	int n,m;
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++) {
		for(int j=1;j<=m;j++) {
			scanf("%d",&a[i][j]);
		}
	}
	for(int i=1;i<=n;i++) {
		for(int j=1;j<=m;j++) {
			scanf("%d",&b[i][j]);
		}
	}
	f[1][1][abs(a[1][1]-b[1][1])]=1;
	int S=80*160;
	for(int i=1;i<=n;i++) {
		for(int j=1;j<=m;j++) {
			if(i==1&&j==1) continue;
			int t=abs(a[i][j]-b[i][j]);
			for(int k=S;k>=0;k--) {
				f[i][j][abs(k-t)]|=f[i-1][j][k],f[i][j][abs(k-t)]|=f[i][j-1][k];
				if(k+t<=S) f[i][j][k+t]|=f[i-1][j][k],f[i][j][k+t]|=f[i][j-1][k];
			}
		}
	}
	for(int i=0;i<=S;i++) {
		if(f[n][m][i]) {
			printf("%d\n",i);
			break;
		}
	}
	return 0;
}