#include<bits/stdc++.h>
#define REP(i,n) for(int i=0;i<(n);++i)
#define ALL(v) (v).begin(),(v).end()
#define INF 1e15
typedef long long llong;
using namespace std;

int main(){
	int x,y,z,k;
	cin>>x>>y>>z>>k;
	vector<llong> a(x),b(y),c(z);
	REP(i,x) cin>>a[i];
	REP(i,y) cin>>b[i];
	REP(i,z) cin>>c[i];
	
	vector<llong> dp(x*y);
	int num=0;
	REP(i,x){
		REP(j,y){
			dp[num]=a[i]+b[j];
			num++;
		}
	}
	sort(ALL(dp),greater<llong>());
	
	int n=min(x*y,k);
	vector<llong> dp2(n*z);
	int num2=0;
	REP(i,n){
		REP(j,z){
			dp2[num2]=dp[i]+c[j];
			num2++;
		}
	}
	sort(ALL(dp2),greater<llong>());
	
	REP(i,k) cout<<dp2[i]<<endl;
	return 0;
}//解説参考.