#include <iostream>
#include <algorithm>
using namespace std;
const int maxn=5001;
long long a[maxn],b[maxn],c[maxn];
long long ab[maxn*maxn],ans[maxn*maxn];
bool cmp(long long x,long long y){
	return x>y;
}

int main(){
	long long x,y,z,k;
	cin>>x>>y>>z>>k;
	for (int i=0;i<x;i++){
		cin>>a[i];
	}
	for (int i=0;i<y;i++){
		cin>>b[i];
	}
	for (int i=0;i<z;i++){
		cin>>c[i];
	}
	int m=0;
	for (int i=0;i<x;i++)
	for (int j=0;j<y;j++){
		ab[m]=a[i]+b[j];
		m++;
	}
	sort(ab,ab+m,cmp);
	sort(c,c+z,cmp);
	if (m>k) m=k;
	int n=0;
	for (int i=0;i<m;i++)
	for (int j=0;j<z;j++){
		ans[n]=ab[i]+c[j];
		n++;
	}
	sort(ans,ans+n,cmp);
	for (int i=0;i<k;i++){
		cout<<ans[i]<<endl;
	}
	return 0;
} 