#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; (i) < (int) (n); (i) ++)
using namespace std;

int main() {
        long long x, y, z, k;
        scanf("%lld%lld%lld%lld", &x, &y, &z, &k);
        vector<long long> xs(x), ys(y), zs(z);
        rep(i, x) scanf("%lld", &xs[i]);
        rep(i, y) scanf("%lld", &ys[i]);
        rep(i, z) scanf("%lld", &zs[i]);
        vector<long long> xys;
        rep(i, x) rep(j, y) xys.push_back(xs[i] + ys[j]);
        sort(xys.rbegin(), xys.rend());
        vector<long long> ans;
        rep(i, min(x * y, k)) rep(j, z) ans.push_back(xys[i] + zs[j]);
        sort(ans.rbegin(), ans.rend());
        rep(i, k) printf("%lld\n", ans[i]);
        return 0;
}
