"use strict";
function Main(input) {
    let lines = input.split("\n");
    let xyzk = lines.shift().split(/\s/).map((v) => v - 0);
    let X = xyzk[0], Y = xyzk[1], Z = xyzk[2], K = xyzk[3];
    let A = lines.shift().split(/\s/).map((v) => v - 0); //.sort((a, b) => b - a);
    let B = lines.shift().split(/\s/).map((v) => v - 0); //.sort((a, b) => b - a);
    let C = lines.shift().split(/\s/).map((v) => v - 0); //.sort((a, b) => b - a);
    let ab = new Array(X * Y);
    let i = 0;
    for (let n = 0; n < X; n++) {
        for (let m = 0; m < Y; m++) {
            ab[i++] = A[n] + B[m];
        }
    }
    ab.sort((a, b) => b - a);
    let abcL = Math.min(K, ab.length);
    let abc = new Array(abcL);
    for (let n = 0, i = 0; n < abcL; n++) {
        for (let m = 0; m < Z; m++) {
            abc[i++] = ab[n] + C[m];
        }
    }
    abc.sort((a, b) => b - a);
    for (let n = 0; n < K; n++) {
        console.log(abc[n]);
    }
}
if (typeof window === 'undefined') Main(require("fs").readFileSync("/dev/stdin", "utf8"));
