from heapq import * N,M,K = map(int,input().split()) A = [] for _ in range(N): a = list(map(int,input().split())) a.sort() A.append(a) INF = 10**9 ans = 0 hq = [(-a,1) for a in A[0]] while hq: i,j = heappop(hq) if j == N: ans = max(ans,-i) continue for a in A[j]: if -(i-a) > K: break heappush(hq,(i-a,j+1)) if ans == 0: print(-1) else: print(K-ans)