H,W = gets.split.map(&:to_i)
A = H.times.map { gets.split.map(&:to_i) }
B = H.times.map { gets.split.map(&:to_i) }
V = (W + H) * 80
dp = Array.new(H){ Array.new(W){ Array.new(V) }}
dp[0][0][(A[0][0] - B[0][0]).abs] = true

W.times do |x|
  H.times do |y|
    d = A[y][x] - B[y][x]
    V.times do |v|
      if x > 0 && dp[y][x - 1][v]
        dp[y][x][(v + d).abs] = true
        dp[y][x][(v - d).abs] = true
      end
      if y > 0 && dp[y - 1][x][v]
        dp[y][x][(v + d).abs] = true
        dp[y][x][(v - d).abs] = true
      end
    end
  end
end

puts dp[H-1][W-1].index(&:itself)