import Data.List
import Control.Monad  

main :: IO ()
main = do
  [x,y,z,k] <- map read . words <$> getLine :: IO [Int]
  as <- reverse . sort . map read . words <$> getLine :: IO [Integer]
  bs <- reverse . sort . map read . words <$> getLine :: IO [Integer]
  cs <- reverse . sort . map read . words <$> getLine :: IO [Integer]

  let ds = take k . reverse . sort $ [a+b | a<-as, b<-bs]
  let ans = take k . reverse . sort $ [c+d | c<-cs, d<-ds]

  mapM_ print $ ans
