K,L,M,N,s,*A = map(int,open(0).read().split()) a,b,c,d = A[:K],A[K:K+L],A[K+L:K+L+M],A[K+L+M:K+L+M+N] ab = sorted(i*j for i in a for j in b) cd = sorted(i*j for i in c for j in d) from bisect import bisect_left Lab = bisect_left(ab,0) Lcd = bisect_left(cd,0) ok = INF = 10**18 ng = -INF MN = M*N while ok-ng > 1: mid = (ok+ng)//2 v = r = 0 for i in range(Lab)[::-1]: while r < Lcd and ab[i]*cd[r] > mid: r += 1 v += Lcd-r if r < MN and ab[i]*cd[r] == mid: x,y = ab[i],cd[r] r = Lcd for i in range(Lab): while r < MN and ab[i]*cd[r] > mid: r += 1 v += MN-r if r < MN and ab[i]*cd[r] == mid: x,y = ab[i],cd[r] r = 0 for i in range(Lab,K*L): while r < Lcd and ab[i]*cd[r] <= mid: if ab[i]*cd[r] == mid: x,y = ab[i],cd[r] r += 1 v += r r = Lcd for i in range(Lab,K*L)[::-1]: while r < MN and ab[i]*cd[r] <= mid: if ab[i]*cd[r] == mid: x,y = ab[i],cd[r] r += 1 v += r-Lcd if v >= s: ok = mid else: ng = mid print(ok) r = [0]*4 for i in a: for j in b: if i*j==x: r[0],r[1] = i,j for i in c: for j in d: if i*j==y: r[2],r[3] = i,j print(*r)