Загрузка данных


n, m = map(int, input().split())
a = [list(map(int, input().split())) for _ in range(n)]

rows = []
for i in range(n):
    rows.append(sorted((a[i][j], j) for j in range(m))[:3])

cols = []
for j in range(m):
    cols.append(sorted((a[i][j], i) for i in range(n))[:3])

ans = float('inf')

for i in range(n):
    for j in range(m):
        candidates = []

        for cost, col in rows[i]:
            if col != j:
                candidates.append((cost, i, col))

        for cost, row in cols[j]:
            if row != i:
                candidates.append((cost, row, j))

        candidates.sort()

        total = a[i][j] + candidates[0][0] + candidates[1][0]
        ans = min(ans, total)

print(ans)