#include <iostream>
#include <vector>
#include <queue>
#include <stack>
#include <algorithm>
#define rep(i,s,n)for(int i = s;i<n;i++)
#define repe(i,s,n)for(int i = s;i<=n;i++)
using namespace std;
typedef long long ll;

ll a[1000] = {};
ll b[1000] = {};
ll c[1000] = {};
ll D[1000000] = {};
ll E[3000000] = {};
int main() {
	ll x, y, z, k; cin >> x >> y >> z >> k;
	rep(i, 0, x)cin >> a[i];
	rep(i, 0, y)cin >> b[i];
	rep(i, 0, z)cin >> c[i];

	rep(i, 0, x) rep(j, 0, y) {
		D[i*y + j] = a[i] + b[j];
	}
	sort(D, D + x * y);
	reverse(D, D + x * y);

	rep(i, 0, k) rep(j, 0, z) {
		E[i*z + j] = D[i] + c[j];
	}

	sort(E, E + k * z);
	reverse(E, E + k * z);

	rep(i, 0, k) {
		cout << E[i] << endl;
	}
	return 0;
}