#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
LL a[1001],b[1001],c[1001];
int x,y,z,k;
priority_queue<LL>q;
int main(){
	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];
	sort(a,a+x,greater<LL>());
	sort(b,b+y,greater<LL>());
	sort(c,c+z,greater<LL>());
	for(int i=0;i<x;i++)
		for(int j=0;j<y;j++){
			if((i+1)*(j+1)-1>=k) break;
			for(int t=0;t<z;t++){
				if((i+1)*(j+1)*(t+1)-1>=k) break;
				LL tmp=a[i]+b[j]+c[t];	
				q.push(tmp);
			}
		}
	for(int i=0;i<k;i++){
		cout<<q.top()<<endl;
		q.pop();
	}
	return 0;
}
