import Data.List

judge :: (Int, Int) -> Int -> (Int, Int) -> Int -> Bool
judge (cx, cy) h' (x, y) h = max tmp 0 == h
 where tmp = h' - abs (x-cx) - abs (y-cy)

main = do
  xyhs <- map (map read.words).lines <$> (getLine >> getContents)
  let pyrs = [((cx, cy), h') | h' <- [1..], cx <- [0..100], cy <- [cx..100]]
      Just ((ax, ay), ah) = find (\(c, h') -> and $ [judge c h' (x, y) h | (x:y:h:_) <- xyhs]) pyrs
  putStrLn $ unwords $ map show [ax, ay, ah]
