""" bitdpではだめ 斜めは4通り試せばよいか フローで解けないか…? 貪欲…? 最後の1方向は貪欲でおk あ、 2**18 * 貪欲 """ from sys import stdin N,M = map(int,stdin.readline().split()) A = [] ans = float("inf") for i in range(N): A.append(list(map(int,stdin.readline().split()))) for i in range(2**(N+2)): B = [[A[i][j] for j in range(N)] for i in range(N)] rem = M tmp = 0 for y in range(N): if 2**y & i > 0: rem -= 1 for x in range(N): tmp += B[x][y] B[x][y] = 0 y = N if 2**y & i > 0: rem -= 1 for k in range(N): tmp += B[k][k] B[k][k] = 0 y = N+1 if 2**y & i > 0: rem -= 1 for k in range(N): tmp += B[k][N-k-1] B[k][N-k-1] = 0 if rem < 0: ans = min(ans,tmp) else: lis = [sum(B[j]) for j in range(N)] lis.sort() tmp += sum(lis[:rem]) ans = min(ans,tmp) print (ans)