M = [[]]
mval = 0
n = 0

def numberOfTrees(x, y, toX, toY):
	number = 0
	for a in range(0, toY):
		for b in range(0, toX):
			if(M[b][a] == 1 and b >= x and b <= x and a >= y and a <= y):
				number += 1
	return number;

def findTrees(myX, myY):
	needed = n/2
	result = n

	if(myX == len(M)-1 and myY == len(M)-1):
		y = myY
		nextX = 0
		for a in range(0, myX).reverse():
			while(true):
				temp = numberOfTrees(x-nextX, y, myX, myY)
				if(temp == needed):
					if(temp < result):
						result = temp
						break

				elif(y==0 and temp < needed): 
					nextX += 1
				elif(temp>needed):
					y= myY
					nextX = 0
					break
				else:
					y -= 1

	if(myX == len(M)-1 and myY == 0):
		y = myY
		nextX = 0
		for a in range(0, myX).reverse():
			while(true):
				temp = numberOfTrees(x-nextX, y, myX, myY)
				if(temp == needed):
					if(temp < result):
						result = temp
						break

				elif(y==0 and temp < needed): 
					nextX += 1
				elif(temp>needed):
					y= myY
					nextX = 0
					break
				else:
					y += 1


	if(myX == 0 and myY == len(M)-1):
		y = myY
		nextX = 0
		for a in range(0, myX):
			while(true):
				temp = numberOfTrees(x+nextX, y, myX, myY)
				if(temp == needed):
					if(temp < result):
						result = temp
						break

				elif(y==0 and temp < needed): 
					nextX += 1
				elif(temp>needed):
					y= myY
					nextX = 0
					break
				else:
					y -= 1


	if(myX == 0 and myY == 0):
		y = myY
		nextX = 0
		for a in range(0, myX):
			while(true):
				temp = numberOfTrees(x+nextX, y, myX, myY)
				if(temp == needed):
					if(temp < result):
						result = temp
						break

				elif(y==0 and temp < needed): 
					nextX += 1
				elif(temp>needed):
					y= myY
					nextX = 0
					break
				else:
					y += 1




while True:
	try: 
		text = input()
		a = []
		for val in text.split():
			a.append(int(val))
		mVal = a[0]		
		n = a[1]

		if(n % 2 is not 0):
			print(-1)
		else:
			numberlist = []
			i = 0
			while(True):
				i += 1
				if(i == n+1):
					break

				numberlist.append(input())
			a = []
			for val in numberlist:
				b = []
				for aa in val.split():
					b.append(int(aa))
				a.append(b)
			
			M = a
			findTrees(mVal-1,mVal-1)
			
			
		

	except EOFError: break
