N = int(eval(input()))

xyh = [tuple(map(int, input().split())) for _ in range(N)]



for cx in range(100 + 1):

    for cy in range(100 + 1):

        # すべての中心候補に対して

        H = -1

        for x, y, h in xyh:

            if h > 0:

                t = h + abs(x - cx) + abs(y - cy)

                if H == -1:

                    H = t

                else:

                    if H != t:

                        # 適切な中心を選んでいるときは、すべてのHが一致する

                        break

        else:

            for x, y, h in xyh:

                if h != max(H - abs(x - cx) - abs(y - cy), 0):

                    break

            else:

                if H >= 1:

                    print((cx, cy, H))

                    exit()

def solve():

    cands = []

    for cx in range(100 + 1):

        for cy in range(100 + 1):

            is_center = True

            temp_h = -1

            for x, y, h in m:

                if h != 0:

                    calc_h = h + abs(cx - x) + abs(cy - y)

                    if temp_h == -1:

                        temp_h = calc_h

                    else:

                        if temp_h != calc_h:

                            is_center = False

                            break

            if is_center:

                cands.append((cx, cy, temp_h))



    for cx, cy, temp_h in cands:

        is_answer = True

        for x, y, h in m:

            if h == 0:

                if temp_h - abs(cx - x) - abs(cy - y) > 0:

                    # h=0の位置では、計算された高さは0以下の必要がある

                    is_answer = False

                    break

        if is_answer:

            return cx, cy, temp_h



    return -1, -1, -1





n = int(eval(input()))

m = tuple(tuple(map(int, input().split())) for _ in range(n))

print((*solve()))

N = int(eval(input()))
xyh = [tuple(map(int, input().split())) for _ in range(N)]
for cx in range(100 + 1):
    for cy in range(100 + 1):
        # すべての中心候補に対して
        H = -1
        for x, y, h in xyh:
            if h > 0:
                t = h + abs(x - cx) + abs(y - cy)
                if H == -1:
                    H = t
                else:
                    if H != t:
                        # 適切な中心を選んでいるときは、すべてのHが一致する
                        break
        else:
            for x, y, h in xyh:
                if h != max(H - abs(x - cx) - abs(y - cy), 0):
                    break
            else:
                if H >= 1:
                    print((cx, cy, H))
                    exit()

def solve():
    cands = []
    for cx in range(100 + 1):
        for cy in range(100 + 1):
            is_center = True
            temp_h = -1
            for x, y, h in m:
                if h != 0:
                    calc_h = h + abs(cx - x) + abs(cy - y)
                    if temp_h == -1:
                        temp_h = calc_h
                    else:
                        if temp_h != calc_h:
                            is_center = False
                            break
            if is_center:
                cands.append((cx, cy, temp_h))
    for cx, cy, temp_h in cands:
        is_answer = True
        for x, y, h in m:
            if h == 0:
                if temp_h - abs(cx - x) - abs(cy - y) > 0:
                    # h=0の位置では、計算された高さは0以下の必要がある
                    is_answer = False
                    break
        if is_answer:
            return cx, cy, temp_h
    return -1, -1, -1


n = int(eval(input()))
m = tuple(tuple(map(int, input().split())) for _ in range(n))
print((*solve()))

-N = int(eval(input())) -xyh = [tuple(map(int, input().split())) for _ in range(N)] -for cx in range(100 + 1): -    for cy in range(100 + 1): -        # すべての中心候補に対して -        H = -1 -        for x, y, h in xyh: -            if h > 0: -                t = h + abs(x - cx) + abs(y - cy) -                if H == -1: -                    H = t -                else: -                    if H != t: -                        # 適切な中心を選んでいるときは、すべてのHが一致する -                        break -        else: -            for x, y, h in xyh: -                if h != max(H - abs(x - cx) - abs(y - cy), 0): +def solve(): +    cands = [] +    for cx in range(100 + 1): +        for cy in range(100 + 1): +            is_center = True +            temp_h = -1 +            for x, y, h in m: +                if h != 0: +                    calc_h = h + abs(cx - x) + abs(cy - y) +                    if temp_h == -1: +                        temp_h = calc_h +                    else: +                        if temp_h != calc_h: +                            is_center = False +                            break +            if is_center: +                cands.append((cx, cy, temp_h)) +    for cx, cy, temp_h in cands: +        is_answer = True +        for x, y, h in m: +            if h == 0: +                if temp_h - abs(cx - x) - abs(cy - y) > 0: +                    # h=0の位置では、計算された高さは0以下の必要がある +                    is_answer = False -            else: -                if H >= 1: -                    print((cx, cy, H)) -                    exit() +        if is_answer: +            return cx, cy, temp_h +    return -1, -1, -1 + + +n = int(eval(input())) +m = tuple(tuple(map(int, input().split())) for _ in range(n)) +print((*solve()))