N =gets.to_i

data = N.times.map{ gets.strip.split.map(&:to_i) }

=begin

仮の中心をi,jとして，i,jを動かして全部一致するかチェック
そもそも全部一致するってどういうことか実験
すべてのi,jでトップをheightとして
h = [height - (x - i).abs - (y - j) .abs,0].max #0と比較
が成り立つ

=end

(0..100).each {|i|
  (0..100).each{|j|
    k = data.index{|a,b,val| val != 0}
    height = data[k][2] + (data[k][0] - i).abs + (data[k][1] - j).abs
    if data.all? { |x,y,h|
      h == [height - (x - i).abs - (y - j).abs,0].max
    }
    puts "#{i}\s#{j}\s#{height}"
    exit 0
    end
  }
}