n = gets.to_i
all = Array.new(n) {gets.split(" ").map(&:to_i)}
# 頂点の高さを定めるための、たかさ１以上の基準点(stx,sty)を見つける
for i in 0..n-1 do
    if all[i][2] != 0
        stx = all[i][0]
        sty = all[i][1]
        sth = all[i][2]
        break
    end
end


for px in 0..100 do
    for py in 0..100 do
#頂点（px,py）の高さphを定める
        ph = sth + (stx - px).abs + (sty - py).abs 
        for i in 0 .. n-1 do
#(xi,yi,hi)のときあってるかどうかたしかめる
            xi = all[i][0]
            yi = all[i][1]
            hi = all[i][2]
            if hi != 0
                if ph - hi != (xi - px).abs + (yi - py).abs
                    # ふせいごうがあったら次のループ
                    break
                end
            else
                if ph > hi + (xi - px).abs + (yi - py).abs
                    # ふせいごうがあったら次のループ
                    break
                end
            end
            if i == n-1
                # 不整合がなければしゅつりょくして終了
                puts "#{px} #{py} #{ph}"
                exit
            end
        end
    end
end
