function Main(input) {
    // 1行目がinput[0], 2行目がinput[1], …に入る
    tmp = input.split("\n");
    X= String(tmp[0]).split(" ")[0];
    Y= String(tmp[0]).split(" ")[1];
    Z= String(tmp[0]).split(" ")[2];
    K= String(tmp[0]).split(" ")[3];
    A = String(tmp[1]).split(" ");
    B = String(tmp[2]).split(" ");
    C = String(tmp[3]).split(" ");
    A.map(Number);
    B.map(Number);
    C.map(Number);
    sum = new Array;
    l=0;
    
    for(i=0 ; i < X; i++){
        for(j=0;j < Y; j++){
            for(k = 0; k<Z; k++){
                sum[l]=Number(A[i])+Number(B[j])+Number(C[k]);
                l +=1;
            }
        }
    }
    
    sum = sum.sort(function(a,b){return b-a;});
    
    for(m = 0;m < K; m++){
        console.log(sum[m]);
    }
    
}
//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));


