
object Main extends App {
	val Array(x, y, z, k) = scala.io.StdIn.readLine.split(" ").map(_.toInt)
	val a = scala.io.StdIn.readLine.split(" ").map(_.toLong).sorted
	val b = scala.io.StdIn.readLine.split(" ").map(_.toLong).sorted
	val c = scala.io.StdIn.readLine.split(" ").map(_.toLong).sorted

	val tp1 = math.min(k, x)
	val tp2 = math.min(k, y)
	val tp3 = math.min(k, z)

	val ans = new Array[Long](tp1*tp2*tp3)

	val of = tp2*tp3

	for(i<-0 until tp1; j<-0 until tp2; k<-0 until tp3){
		ans(i*of + j*tp3 + k) = a(i)+b(j)+c(k)
	}

	val ans2 = ans.sorted.reverse

	for(i<-0 until math.min(k, ans.size)){
		println(ans2(i))
	}



}
