Problem:
Score: 300 points

Problem Statement

In the Ancient Kingdom of Snuke, there was a pyramid to strengthen the authority of Takahashi, the president of AtCoder Inc.

The pyramid had center coordinates (C_X, C_Y) and height H. The altitude of coordinates (X, Y) is max(H - |X - C_X| - |Y - C_Y|, 0).

Aoki, an explorer, conducted a survey to identify the center coordinates and height of this pyramid. As a result, he obtained the following information:

C_X, C_Y was integers between 0 and 100 (inclusive), and H was an integer not less than 1.

Additionally, he obtained N pieces of information. The i-th of them is: "the altitude of point (x_i, y_i) is h_i."

This was enough to identify the center coordinates and the height of the pyramid. Find these values with the clues above.

Constraints

N is an integer between 1 and 100 (inclusive).

x_i and y_i are integers between 0 and 100 (inclusive).

h_i is an integer between 0 and 10^9 (inclusive).

The N coordinates (x_1, y_1), (x_2, y_2), (x_3, y_3), ..., (x_N, y_N) are all different.

The center coordinates and the height of the pyramid can be uniquely identified.

Input

Input is given from Standard Input in the following format:

N
x_1 y_1 h_1
x_2 y_2 h_2
x_3 y_3 h_3
:
x_N y_N h_N

Output

Print values C_X, C_Y and H representing the center coordinates and the height of the pyramid in one line, with spaces in between.

Sample Input 1

4
2 3 5
2 1 5
1 2 5
3 2 5

Sample Output 1

2 2 6

In this case, the center coordinates and the height can be identified as (2, 2) and 6.

Sample Input 2

2
0 0 100
1 1 98

Sample Output 2

0 0 100

In this case, the center coordinates and the height can be identified as (0, 0) and 100.

Note that C_X and C_Y are known to be integers between 0 and 100.

Sample Input 3

3
99 1 191
100 1 192
99 0 192

Sample Output 3

100 0 193

In this case, the center coordinates and the height can be identified as (100, 0) and 193.

Solution in C (GCC 5.4.1) (judge verdict: Wrong Answer)

#include<stdio.h>
#include<stdlib.h>

int main(){
		int n,i;
		scanf("%d",&n);
		long xyh[n][3];
		for(i=0;i<n;i++){
				scanf("%ld%ld%ld",&xyh[i][0],&xyh[i][1],&xyh[i][2]);
		}
		int cx,cy,flag=0;long h,tmp;
		for(cx=0;cx<=100;cx++){
				for(cy=0;cy<=100;cy++){
				//		printf("%d %d\n",cx,cy);
						flag=0;
						tmp-=1;
						for(i=0;i<n;i++){
						//		if(xyh[i][2]>0){
										h=xyh[i][2]+abs(xyh[i][0]-cx)+abs(xyh[i][1]-cy);
						/*		else if(tmp-abs(xyh[i][0]-cx)-abs(xyh[i][1]-cy)>0){
										flag=1;
										break;
								}else h=tmp;*/
								if(xyh[i][2]==0){
										if(tmp!=-1){
												if(tmp-abs(xyh[i][0]-cx)-abs(xyh[i][1]-cy)>0)break;
										}
												
								}else{
										if(i==0){
												tmp=h;
										}
										if(tmp!=h){
												flag=1;
												break;
										}
								}
						}
								if(flag==0){
										printf("%d %d %ld",cx,cy,tmp);
										return 0;
								}
				}
/*						int tmp=xyh[i][2]-abs(xyh[j][0]-xyh[i][0])-abs(xyh[j][1]-xyh[i][1]);
						if(tmp<0)tmp=0;
						if(xyh[j][2]=!tmp)break;*/
		}
}