import scala.io.StdIn._
import scala.collection.mutable.Queue

object Main extends App {
  val line = readLine.split(" ").map(x => x.toInt).toArray
  val x = line(0)
  val y = line(1)
  val z = line(2)
  var K = line(3)
  val A = readLine.split(" ").map(x => x.toLong).toArray.sorted.reverse
  val B = readLine.split(" ").map(x => x.toLong).toArray.sorted.reverse
  val C = readLine.split(" ").map(x => x.toLong).toArray.sorted.reverse
  var e, q = Queue[Long]()
  for (i <- (0 until x); j <- (0 until y)) {
    e += A(i) + B(j)
  }
  e = e.sorted.reverse
  val cnt_i = if (e.length > K) K else e.length
  val cnt_j = if (z > K) K else z
  for (i <- (0 until cnt_i); j <- (0 until cnt_j)) {
    q += e(i) + C(j)
  }
  println(q.sorted.reverse.slice(0, K).mkString("\n"))
}