개구리 2

아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

개구리가 좌표평면 위로 돌아왔다. 이번에는 (x,y)(x, y) 위에 개구리 NN마리가 점프할 준비를 하고 있다. 개구리는 한 번 점프할 때마다 인접한 네 칸 중 하나로 이동한다. 예를 들어, 초기에 개구리가 원점 O(0,0)O(0, 0) 위에 있다면, 개구리는 한 번 점프한 뒤 (0,1)(0, 1), (0,1)(0, -1), (1,0)(1, 0), (1,0)(-1, 0) 중 하나에 위치하게 된다. muse가 잠시 게임을 하던 사이, 개구리들은 제멋대로 점프를 했다. muse는 좌표평면으로 돌아온 뒤, 처음에 자신이 개구리를 어디에 위치해 놓았는지 궁금해졌다.

다행히 muse는 개구리의 이동에 관해 몇 가지 정보를 알아내는 데 성공했다. ii번째 개구리는 총 c_ic\_i번의 이동을 했으며, 이동을 모두 마친 현재 (a_i,b_i)(a\_i, b\_i) 위에 있다는 것이다. 이 정보를 바탕으로, 개구리들이 처음에 어디에 있었는지 알아내는 프로그램을 작성해 보자.

입력

첫 줄에 개구리의 수 NN이 주어진다. (1N1051 \le N \le 10^5)

둘째 줄부터 N+1N+1번째 줄까지, i+1i+1번째 줄에는 정수 a_ia\_i, b_ib\_i, c_ic\_i가 차례로 주어진다. (109a_i,b_i109-10^9 \le a\_i, b\_i \le 10^9, 0c_i21090 \le c\_i \le 2 \cdot 10^9)

출력

개구리들의 초기 위치를 (x,y)(x, y)라고 할 때, xxyy를 공백을 사이에 두고 출력하자.

만약 초기 위치로 가능한 격자점이 없다면 NO를 출력한다.

만약 초기 위치로 가능한 점이 여러 개라면 xx값이 가장 작은 점을 출력하며, 이러한 점도 여러 개라면 yy값이 가장 작은 점을 출력한다.