import Control.Monad
import Control.Applicative
import Data.List
import Data.Ord


getBysplit = map read . words <$> getLine

main :: IO()
main = do
  [x, y, z, k] <- getBysplit :: IO [Int]
  alt <- getBysplit :: IO [Int]
  blt <- getBysplit :: IO [Int]
  clt <- getBysplit :: IO [Int]
  let list = take k $ sortOn Data.Ord.Down [x |  a <- alt, b <- blt, c <- clt, let x = a + b + c]
  forM_ list print
